カスタムエラークラスの作成

Flash Player 9 以降、Adobe AIR 1.0 以降

ActionScript では、標準 Error クラスのいずれかを拡張し、目的に特化した独自の Error クラスを作成できます。 独自の Error クラスを作成する理由は、次のようにいくつかあります。

  • アプリケーションに特有のエラー群を識別するため :

    例えば、Flash ランタイムでトラップされたエラーとは別に、アプリケーションのコードでスローされたエラーに対して異なるアクションをとる場合などです。 try..catch ブロックで新しいエラーデータ型を追跡するために、Error クラスのサブクラスを作成することができます。

  • アプリケーション内で生成したエラーについて独自の方法でエラー情報を表示するため :

    例えば、特定の方法でエラーメッセージの形式を設定するために新しい toString() メソッドを作成できます。また、必要に応じて lookupErrorString() メソッドを定義することもできます。このメソッドはパラメーターで指定したエラーコードに対して、ユーザーの言語環境設定に応じた適切な言語のメッセージを取得します。

独自の Error クラスは、ActionScript コア Error クラスを拡張したものである必要があります。 次に、Error クラスを拡張した、独自の AppError クラスの例を示します。

public class AppError extends Error 
{ 
    public function AppError(message:String, errorID:int) 
    { 
        super(message, errorID); 
    } 
}

次に、プロジェクトで AppError を使用した例を示します。

try 
{ 
    throw new AppError("Encountered Custom AppError", 29); 
} 
catch (error:AppError) 
{ 
    trace(error.errorID + ": " + error.message) 
}
注意: サブクラスで Error.toString() メソッドをオーバーライドする場合は、 ... (残り)パラメーターを 1 つだけ指定します。ActionScript 3.0 が基づいている ECMAScript 言語仕様では、 Error.toString() メソッドをそのように定義しているため、ActionScript 3.0 では、後方互換のため同じようこのメソッドを定義しています。したがって、 Error.toString() メソッドをオーバーライドする際は正確にこのパラメーターを踏襲してください。ただし、実行時に toString() メソッドにパラメーターを渡しても、これらのパラメーターは無視されます。