カスタムエラークラスの作成
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()
メソッドにパラメーターを渡しても、これらのパラメーターは無視されます。
|
|
|