エラーハンドリング

編集

概要

各RPGアツマール ゲームAPI共通で発生する可能性のある例外・エラーについての情報です。 基本的にプラグイン作者のかた向けの情報となります(プラグイン利用者には基本的には不要な情報となります)。 サーバーエラーや非ログイン等のエラーを扱いたいときに必要となる情報です。

エラーオブジェクト

interface AtsumaruApiError {
  readonly errorType = "atsumaruApiError";
  readonly code: string;
  readonly message: string;
}
code一覧解説
BAD_REQUESTゲーム側でなんらかのAPIの使い方を間違えている場合のコードです。例えば、メソッドの引数の型を間違えている場合に発生します。
UNAUTHORIZEDプレイヤーがログインしている必要があるAPIを、プレイヤーが非ログイン状態で使った場合のコードです
API_CALL_LIMIT_EXCEEDEDAPIの呼び出し回数制限 の上限に達した際に返されるコードです
FORBIDDEN次のように、プレイヤーやゲームがAPIに対してアクセス権限がない場合に発生します。
  • ユーザーIDを指定するAPIで、対象のユーザー情報を取得する権限がない場合(相手のユーザーのプレイヤー通信有効化がされていないなど)
  • ゲームIDを指定するAPIで、対象のゲーム情報を取得する権限がない場合(対象のゲームが非公開であるなど)
INTERNAL_SERVER_ERRORサーバー側で何らかの問題が発生していたり、通信に失敗した場合のコードです

コード例

window.RPGAtsumaru.experimental.scoreboards.setRecord(boardId, score)
  .catch(function(err) {
    switch(err.code) {
      case "BAD_REQUEST":
        // ゲーム側で何か間違えているとき=指定したボードIDが大きすぎるかマイナスの場合などに発生
        /* エラーハンドリング処理 */
        break;
      case "INTERNAL_SERVER_ERROR":
        // サーバー側で何らかの問題=通信不良やメンテ等で発生
        /* エラーハンドリング処理 */
        break;
    }
  })