Skip to main content
このチュートリアルでは、CloudScript ハンドラー内でエラーを認識して処理する方法について説明します。

特定

最初のステップはエラーの特定です。キャッチされていないすべてのエラーはログに記録され、呼び出し元 (クライアント) へのレスポンスから利用できますが、try/catch ブロックを使って早期にキャッチすることもできます。 エラーを発生させてキャッチする次の CloudScript スニペットを参照してください。
catch ブロック内でエラー コードがどのように抽出されているかに注目してください。エラーの完全な一覧については、グローバル API メソッド エラー コードのドキュメント を参照してください。
エラー コード単独でエラーを特定できます。

ログ記録

未処理のエラーはすべてレスポンスに追加され、クライアントで問題を処理できるようになります。 同時に、CloudScript エラー エントリが作成され、CloudScript ダッシュボードで利用できる合計統計情報に追加されます。 例外を JSON 文字列の形式で強制的にログに記録するには、log オブジェクトを使ったエラー ログを利用します。
最後に、後で分析で処理するためにタイトル/プレイヤー イベントを書き込むこともできます。

回復

エラーからの回復は常に可能とは限りません。InvalidArguments のような問題では、プレイヤーに問題を報告する以外の選択肢はありません。 再試行戦略を適用できるエラーのサブセットも存在します。再試行可能 なエラーの種類は グローバル API メソッド エラー コード に記載されています。 再試行戦略を適用する際には、次の要件を必ず 満たしてください:
  • 再試行のたびに、再試行間の遅延は 指数関数的に増加 させる必要があります。これにより、呼び出しが成功する確率が高まり、ゲームが PlayFab サーバーにスパムを送信するのを防ぐことができます (スパム送信は さらに多くの 拒否された呼び出しにつながります)。
  • この再試行戦略は 選択的に 適用し、再試行する価値のあるコードにのみ使用してください。

CloudScript タイムアウト エラー

CloudScript API 呼び出しの実行時間は 4 秒に制限されています。 実行時間が 4 秒を超えると InternalServerError が発生し、PlayStream Event は次のような Logs オブジェクトを書き込みます:
このエラーが発生した場合は、次のことができます:
最終更新日 2026年8月13日