处理大厅和匹配 SDK 错误
对于有关 PlayFab 大厅和匹配 SDK 如何显示错误以及你应如何处理这些错误的指南,本页旨在充当快速参考。
讨论了以下主题:
同步与异步错误
许多 SDK API 都是异步的。 调用 API(例如PFMultiplayerCreateAndJoinLobby)以启动操作,然后异步操作会以PFLobbyCreateAndJoinLobbyCompletedStateChange等“状态更改”完成。
这意味着,使用异步大厅和匹配客户端 API 时,必须处理两种类型的错误:
- 同步错误
- 异步错误
有关 SDK 的异步模型和状态更改的详细信息,请参阅异步操作文档页。
对于同步 API(例如PFLobbyGetLobbyId),只需处理同步错误。
同步错误
“同步错误”是作为 API 调用的返回值提供的HRESULT 。 这些错误通常是由于调用参数不正确的 API、在库处于无效状态时调用 API 或内部库无法分配内存。 如果 API 返回同步错误,API 提供的任何输出参数都应被视为无效。
调用异步 API (例如PFMultiplayerCreateAndJoinLobby) 时,同步错误值仅表示请求的操作能否启动。 有关了解异步操作的结果的信息,请参阅异步错误部分。
异步错误
“异步错误”作为状态更改中的HRESULTs(与每个操作即结果字段中的异步完成关联)提供。 对于游戏来说,与同步错误相比,这些错误通常更有趣。 异步报告的一些错误类型的非详尽列表包括:
- 服务限制错误
- 无法在客户端上同步验证的无效参数错误
- 与实时通知服务交互时出错
- 连接错误
有关获取异步和同步错误的可读错误消息的指南,请参阅错误代码和错误消息部分。
错误代码和错误消息
库以 HRESULT 的形式显示错误(同步或异步):四字节数值错误代码。 这些紧凑错误代码非常适合在遥测和其他诊断工具中记录,用于调试意外的游戏行为。
调用PFMultiplayerGetErrorMessage以将这些错误代码转换为可读消息。 这些错误消息仅供开发人员查看。 它们不是本地化代码,也不是供最终用户使用,因此最适合内部开发日志。
此外,PlayFab 多人游戏 SDK 错误代码中提供了 SDK 错误代码及其错误消息的列表。