ECMAScript / ECMA-262 Edition 5.1ベースのJavaScript文法
Errorオブジェクトには、標準組み込みErrorオブジェクトの他に更に下記の種類があり、Errorオブジェクトを除く各オブジェクトは、名称以外、その構造、構成は、同じであるものとして定義されています(ので当ページ説明上、6つのオブジェクト名をまとめて仮に e_obj であるものとします)。
各種Errorオブジェクト | |
---|---|
EvalError | eval関数が不正に使用されたことを示す EvalError オブジェクトは、以前のバージョンの互換性の為に残されますが、ECMA-262 Edition 5.1 では、使用されません。 |
RangeError | 許容される範囲を超える数値であることを示す |
ReferenceError | 検出済みの無効なリファレンスであることを示す |
SyntaxError | 発生しているエラーを解析し、構文エラーがあることを示す |
TypeError | 実際の型が、期待した型と異なることをを示す |
URIError | 定義と非互換的な方法で使用したグローバルURI操作関数であることを示す |
e_obj オブジェクトは、 e_obj .prototypeオブジェクトの e_obj 部分のプロパティ名とprototypeオブジェクトの message プロパティ内で使用されます。
Errorオブジェクトとの違いは、e_obj .prototype オブジェクトの各プロパティのオブジェクト名としての接頭辞が e_obj であること、e_obj .prototype オブジェクトの内部プロパティ(Prototype)上、標準組み込みErrorプロトタイプオブジェクトが設定されること(結果的にはErrorと同様)、nameプロパティの値が、各 e_obj となること、各 e_obj .prototype オブジェクト自身では、toStringメソッドを持たず、Error.prototypeオブジェクトから継承することです。
Errorオブジェクト( e_obj オブジェクト)は、エラーメッセージ用のオブジェクトです。
Errorオブジェクト( e_obj オブジェクト)は、new 演算子を伴うコンストラクタとしての呼び出しと( new 演算子を伴わない)関数としての呼び出しの何れのケースにおいても新たなオブジェクトとしてインスタンスを生成、初期化します。
Errorオブジェクト( e_obj オブジェクト)のインスタンスは、何らかの実行エラーが発生する際に例外として throw されます。
Errorオブジェクト( e_obj オブジェクト)の初期設定は、オリジナルのErrorオブジェクトであり、Global及びMathとJSONを除く他のオブジェクト同様、prototypeプロパティを持っています。
また、Error( e_obj )コンストラクタ自体の初期設定は、Functionプロトタイプオブジェクトであるものとされています。
Errorオブジェクト自体は、ユーザー定義の例外クラスにおける基になるオブジェクトとなる場合もあります。
Error.prototypeプロパティは、標準組み込みError.prototypeオブジェクト( e_obj プロパティは、 e_obj .prototypeオブジェクト)として設定されています。
Error.prototypeオブジェクトの内部プロパティ(Prototype)上は、標準組み込みObject.prototypeオブジェクトが設定されることになっています。
( e_obj .prototypeオブジェクトの内部プロパティ(Prototype)上は、標準組み込みError.prototypeオブジェクトが設定されることになっています。)
Error.prototypeオブジェクトのメソッドを含むプロパティは、下記の通りです。
Error( e_obj ).prototypeのプロパティ | |
---|---|
Error.prototype.constructor e_obj .prototype.constructor | インスタンスを生成する関数を設定、初期値は、標準組み込みError( e_obj )コンストラクタ |
Error.prototype.name e_obj .prototype.name | 初期値は、"Error"(各 e_obj ) |
Error.prototype.message e_obj .prototype.message | 初期値は、カラの文字列 |
Error.prototype.toString ( ) e_obj .prototype.toString ( ) | 引数のオブジェクトを示す文字列を返すメソッド ( e_obj .prototypeは、Error.prototype.toString を継承) |