> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gestion des erreurs du SDK C++ Lobby et Matchmaking

> Référence sur la gestion des erreurs synchrones et asynchrones signalées par le SDK C++ PlayFab Lobby et Matchmaking, y compris les codes HRESULT et les messages d'erreur.

# Gestion des erreurs du SDK Lobby et Matchmaking

Cette page sert de référence rapide sur la façon dont les SDK PlayFab Lobby et Matchmaking
signalent les erreurs et sur la manière de les gérer.

Les sujets suivants sont abordés :

* [Erreurs synchrones et asynchrones](#synchronous-vs-asynchronous-errors)
* [Codes d'erreur et messages d'erreur](#error-codes-and-error-messages)

<a id="synchronous-vs-asynchronous-errors" />

## Erreurs synchrones et asynchrones

De nombreuses API du SDK sont asynchrones. Vous démarrez une opération en appelant une API telle que
[PFMultiplayerCreateAndJoinLobby](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayercreateandjoinlobby),
puis cette opération asynchrone se termine plus tard par un « changement d'état » tel que [PFLobbyCreateAndJoinLobbyCompletedStateChange](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/structs/pflobbycreateandjoinlobbycompletedstatechange).

Cela signifie que, lorsque vous utilisez les API clientes asynchrones Lobby et Matchmaking, vous devez gérer deux types d'erreurs :

1. les erreurs synchrones
2. les erreurs asynchrones

Vous trouverez plus d'informations sur le modèle asynchrone et les changements d'état du SDK dans la page de documentation
[Opérations asynchrones](/fr/services/playfab/multiplayer/lobby/lobby-and-matchmaking-client-sdk-async).

Pour les API synchrones, telles que [PFLobbyGetLobbyId](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pflobbygetlobbyid),
vous n'avez à gérer que les erreurs synchrones.

### Erreurs synchrones

Les « erreurs synchrones » sont des **HRESULT** fournis comme valeur de retour d'un appel d'API. Ces erreurs sont généralement dues
à l'appel de l'API avec des paramètres incorrects, à l'appel de l'API alors que la bibliothèque se trouve dans un état non valide, ou à des échecs
internes d'allocation de mémoire de la bibliothèque. Tous les paramètres de sortie fournis par l'API doivent être considérés comme non valides si l'API renvoie
une erreur synchrone.

Lors de l'appel d'API asynchrones (par exemple **PFMultiplayerCreateAndJoinLobby**), la valeur d'erreur synchrone indique uniquement
si l'opération demandée a pu démarrer. Pour savoir comment interpréter le résultat d'une
opération asynchrone, consultez la section [Erreurs asynchrones](#asynchronous-errors).

<a id="asynchronous-errors" />

### Erreurs asynchrones

Les « erreurs asynchrones » sont fournies sous forme de **HRESULT** dans le changement d'état associé à
l'achèvement asynchrone de chaque opération, dans le champ *result*. Ces erreurs sont généralement plus intéressantes pour les titres
que les erreurs synchrones. Voici une liste non exhaustive de types d'erreurs signalées de manière asynchrone :

* erreurs de limitation du service
* erreurs de paramètres non valides qui ne peuvent pas être validées de manière synchrone sur le client
* erreurs d'interaction avec le service de messages en temps réel
* erreurs de connectivité

Consultez la section [Codes d'erreur et messages d'erreur](#error-codes-and-error-messages) pour savoir comment obtenir des messages
d'erreur lisibles pour les erreurs asynchrones et synchrones.

<a id="error-codes-and-error-messages" />

## Codes d'erreur et messages d'erreur

Les erreurs (synchrones ou asynchrones) sont présentées par la bibliothèque sous la forme d'un HRESULT : un code d'erreur numérique
de quatre octets. Ces codes d'erreur compacts sont idéaux pour être enregistrés dans la télémétrie et d'autres outils de diagnostic utilisés pour
déboguer un comportement inattendu du titre.

Ces codes d'erreur peuvent être convertis en message lisible en appelant [PFMultiplayerGetErrorMessage](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayergeterrormessage).
Ces messages d'erreur sont destinés uniquement aux développeurs. Ils ne sont ni localisés ni destinés
aux utilisateurs finaux ; ils conviennent donc mieux aux journaux de développement internes.

En outre, la liste des codes d'erreur du SDK et de leurs messages d'erreur est disponible dans
[Codes d'erreur du SDK PlayFab Multiplayer](/fr/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayererrors).


## Related topics

- [Guide des opérations asynchrones du SDK C++ Lobby et Matchmaking](/fr/services/playfab/multiplayer/lobby/lobby-and-matchmaking-client-sdk-async.md)
- [Bonnes pratiques de gestion des erreurs du SDK](/fr/services/playfab/live-service-management/service-gateway/automation/cloudscript/sdk-error-handling-best-practices.md)
- [Rechercher des lobbies](/fr/services/playfab/multiplayer/lobby/find-lobbies.md)
- [Gestion des cas d'erreur courants](/fr/services/playfab/multiplayer/matchmaking/error-cases.md)
- [SDK unifié PlayFab](/fr/services/playfab/sdks/unified-sdk/overview.md)
