ECMAScript コア Error クラス

ECMAScript コアエラークラスとしては、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError の各クラスがあります。いずれのクラスもトップレベルの名前空間に属します。

クラス名

説明

注意事項

Error

Error クラスは例外をスローするために使用されるクラスであり、ECMAScript に定義されている他の例外クラス (EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError) の基本クラスです。

Error クラスは Flash Player からスローされるすべてのランタイムエラーの基本クラスであるだけでなく、独自に作成するエラークラスの基本クラスとすることが推奨されています。

EvalError

EvalError 例外は、Function クラスのコンストラクタに何かパラメータが渡された場合または eval() 関数がユーザーコードで呼び出された場合にスローされます。

ActionScript 3.0 では eval() 関数のサポートが除外されており、この機能を使用するとエラーがスローされます。

Flash Player の以前のバージョンでは、変数、プロパティ、オブジェクト、ムービークリップに名前でアクセスする際に eval() 関数が使用されていました。

RangeError

RangeError 例外は、数値の値が許容される範囲に収まらない場合にスローされます。

たとえば、Timer クラスに対する遅延の指定が負の値や無限である場合は RangeError がスローされます。また、表示オブジェクトを無限の深度に追加しようとした場合も RangeError がスローされます。

ReferenceError

ReferenceError 例外は、sealed 指定された (動的でない) オブジェクトに対して未定義プロパティを参照しようとした場合にスローされます。ActionScript 3.0 より前のバージョンでは、undefined であるプロパティにアクセスしようとしても ActionScript コンパイラのエラーは発生しませんでした。しかし、ECMAScript の新しい仕様では、この条件の場合にエラーをスローするよう定められているため、ActionScript 3.0 では ReferenceError 例外をスローするようになっています。

未定義の変数に関する例外は潜在的なバグの発見につながり、ソフトウェア品質の向上に役立ちます。しかし、変数を初期化する必要がない従来の仕様に慣れた開発者は、ActionScript の動作が変更されたことによりコーディング上の習慣を変更する必要があります。

SyntaxError

SyntaxError 例外は、ActionScript コード内で解析エラーが発生した場合にスローされます。

詳細については、Edition 4 が利用可能になるまでは ECMAScript (ECMA-262) Edition 3 言語仕様のセクション 15.11.6.4 (www.ecma-international.org/publications/standards/Ecma-262.htm) と、ECMAScript for XML (E4X) 仕様 (ECMA-357 Edition 2) のセクション 10.3.1 (www.ecma-international.org/publications/standards/Ecma-357.htm) を参照してください。

SyntaxError は次の状況でスローされます。

  • RegExp クラスで無効な正規表現を解析した場合
  • XMLDocument クラスで無効な XML を解析した場合

TypeError

TypeError 例外は、オペランドに要求される型と実際の型が異なる場合にスローされます。

詳細については、ECMAScript 仕様のセクション 15.11.6.5 (www.ecma-international.org/publications/standards/Ecma-262.htm) と、E4X 仕様のセクション 10.3 (www.ecma-international.org/publications/standards/Ecma-357.htm) を参照してください。

TypeError は次の状況でスローされます。

  • 関数またはメソッドの実際のパラメータを、形式上必要とされるパラメータの型に変換できない場合
  • 変数に割り当てられた値を、その変数の型に変換できない場合
  • is または instanceof 演算子の右辺が有効な型でない場合
  • super キーワードの使用方法が不正な場合
  • プロパティへの参照が複数のバインディングに解決され、結果があいまいである場合
  • 互換性のないオブジェクトに対してメソッドが呼び出された場合 (RegExp クラスのメソッドが汎用オブジェクトに移植されて呼び出された場合など)

URIError

URIError 例外は、グローバルな URI 処理関数のいずれかが定義に合わない方法で使用された場合にスローされます。

詳細については、ECMAScript 仕様のセクション 15.11.6.6 (www.ecma-international.org/publications/standards/Ecma-262.htm) を参照してください。

URIError は次の状況でスローされます。

有効な URL を必要とする Flash Player API 関数 (Socket.connect() など) に対し、無効な URI を指定した場合


 

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

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000106.html