共通事項

エラーハンドリング

編集

概要

各RPGアツマール ゲームAPI共通で発生する可能性のある例外・エラーについての情報です。

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

最終更新日

  • 2020/02/28