> ## 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.

# Control de errores del SDK de C++ de Lobby y Matchmaking

> Referencia para controlar los errores sincrónicos y asincrónicos que muestra el SDK de C++ de PlayFab Lobby y Matchmaking, incluidos los códigos HRESULT y los mensajes de error.

# Control de errores del SDK de Lobby y Matchmaking

Esta página pretende servir como referencia rápida sobre cómo los SDK de PlayFab Lobby y Matchmaking
muestran los errores y cómo debe controlarlos.

Se tratan los siguientes temas:

* [Errores sincrónicos frente a asincrónicos](#synchronous-vs-asynchronous-errors)
* [Códigos de error y mensajes de error](#error-codes-and-error-messages)

## Errores sincrónicos frente a asincrónicos

Muchas API del SDK son asincrónicas. Usted inicia una operación llamando a una API como
[PFMultiplayerCreateAndJoinLobby](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pfmultiplayercreateandjoinlobby)
y, más adelante, esa operación asincrónica se completa con un "cambio de estado" como [PFLobbyCreateAndJoinLobbyCompletedStateChange](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/structs/pflobbycreateandjoinlobbycompletedstatechange).

Esto significa que, al usar las API asincrónicas del cliente de Lobby y Matchmaking, hay dos tipos de errores que debe controlar:

1. errores sincrónicos
2. errores asincrónicos

Puede encontrar más información sobre el modelo asincrónico del SDK y los cambios de estado en la página de documentación de
[operaciones asincrónicas](/services/playfab/multiplayer/lobby/lobby-and-matchmaking-client-sdk-async).

Para las API sincrónicas, como [PFLobbyGetLobbyId](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pflobby/functions/pflobbygetlobbyid),
solo necesita controlar los errores sincrónicos.

### Errores sincrónicos

Los "errores sincrónicos" son valores **HRESULT** proporcionados como valor devuelto de una llamada de API. Estos errores se deben generalmente a
llamar a la API con parámetros incorrectos, llamar a la API mientras la biblioteca está en un estado no válido o fallos internos de la biblioteca
al asignar memoria. Cualquier parámetro de salida proporcionado por la API debe considerarse no válido si la API devuelve
un error sincrónico.

Al llamar a API asincrónicas (por ejemplo, **PFMultiplayerCreateAndJoinLobby**), el valor de error sincrónico solo
representa si la operación solicitada pudo iniciarse. Para obtener información sobre cómo interpretar el resultado de una
operación asincrónica, consulte la sección [Errores asincrónicos](#asynchronous-errors).

### Errores asincrónicos

Los "errores asincrónicos" se proporcionan como valores **HRESULT** en el cambio de estado asociado a la
finalización asincrónica de cada operación, el campo *result*. Estos errores suelen ser más interesantes para los títulos
que los errores sincrónicos. Una lista no exhaustiva de algunos de los tipos de errores notificados de forma asincrónica incluye:

* errores de limitación del servicio
* errores de parámetros no válidos que no se pueden validar de forma sincrónica en el cliente
* errores de interacción con el servicio de mensajes en tiempo real
* errores de conectividad

Consulte la sección [Códigos de error y mensajes de error](#error-codes-and-error-messages) para obtener orientación sobre cómo obtener mensajes de error
legibles tanto para los errores asincrónicos como para los sincrónicos.

## Códigos de error y mensajes de error

La biblioteca presenta los errores (ya sean sincrónicos o asincrónicos) en forma de un HRESULT: un código de error
numérico de cuatro bytes. Estos códigos de error compactos son ideales para registrarlos en telemetría y otras herramientas de diagnóstico usadas para
depurar comportamientos inesperados del título.

Estos códigos de error se pueden convertir en un mensaje legible llamando a [PFMultiplayerGetErrorMessage](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayergeterrormessage).
Estos mensajes de error están pensados para que solo los vean los desarrolladores. No están localizados ni pensados para el consumo
de los usuarios finales, por lo que son más adecuados para los registros de desarrollo internos.

Además, hay disponible una lista de los códigos de error del SDK con sus mensajes de error en
[Códigos de error del SDK de PlayFab Multiplayer](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayererrors).


## Related topics

- [Guía de operaciones asincrónicas del SDK de C++ de Lobby y Matchmaking](/es/services/playfab/multiplayer/lobby/lobby-and-matchmaking-client-sdk-async.md)
- [Notas de la versión del SDK de C++ de PlayFab Multiplayer](/es/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/lobby-and-matchmaking-release-notes.md)
- [Códigos de error del SDK de C++ de PlayFab Multiplayer](/es/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayererrors.md)
- [Procedimientos recomendados de control de errores del SDK](/es/services/playfab/live-service-management/service-gateway/automation/cloudscript/sdk-error-handling-best-practices.md)
- [Control de errores de PlayFab](/es/services/playfab/sdks/c/errors.md)
