Adobe Flex 3 ヘルプ

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

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

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

    例えば、Flash Player または Adobe AIR でトラップされたエラーに加え、アプリケーションのコードでスローされた特有のエラーに対し、異なる方法で対応することが必要な場合があります。そのような場合、Error クラスのサブクラスを作成し、try..catch ブロックで新しいエラーデータ型を追跡することができます。

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

    例えば、何らかの決まった方法でエラーメッセージを整形表示するために新しい toString() メソッドを作成できます。また、必要に応じて lookupErrorString() メソッドを定義することもできます。このメソッドは、エラーコードを受け取り、ユーザーの言語環境設定に応じた適切な言語のメッセージを返します。

独自のエラークラスは、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 つだけとします。これは Error.toString() メソッドの仕様として ECMAScript(ECMA-262)Edition 3 言語仕様に定められていることであり、後方互換性を維持するため ActionScript 3.0 もこの形式に準拠しています。したがって、Error.toString() メソッドをオーバーライドする際は正確にこのパラメータを踏襲する必要があります。ただし、実行時に toString() メソッドにパラメータを渡しても無視されるため、パラメータを指定する意味はありません。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート