気の向くままに辿るIT/ICT/IoT
JavaScript

JavaScript / Errorオブジェクト

ホーム前へ次へ
ECMAScriptベースのJavaScriptとは?

JavaScript / Errorオブジェクト

ECMA-262 Edition 5.1 / ECMAScriptベースのJavaScript文法

ECMAScript / ECMA-262 Edition 5.1ベースのJavaScript文法

プロトタイプベースのオブジェクト指向

オブジェクト指向 / オブジェクトと種類

ErrorオブジェクトとErrorオブジェクトの種類

 Errorオブジェクトには、標準組み込みErrorオブジェクトの他に更に下記の種類があり、Errorオブジェクトを除く各オブジェクトは、名称以外、その構造、構成は、同じであるものとして定義されています(ので当ページ説明上、6つのオブジェクト名をまとめて仮に e_obj であるものとします)。

各種Errorオブジェクト
EvalErroreval関数が不正に使用されたことを示す
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オブジェクト

 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プロパティは、標準組み込みError.prototypeオブジェクト( e_obj プロパティは、 e_obj .prototypeオブジェクト)として設定されています。

Error.prototypeオブジェクト

 Error.prototypeオブジェクトの内部プロパティ(Prototype)上は、標準組み込みObject.prototypeオブジェクトが設定されることになっています。

( e_obj .prototypeオブジェクトの内部プロパティ(Prototype)上は、標準組み込みError.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 を継承)

ECMA-262 Edition 5.1 訳 / 当該仕様ページ例

ECMAScriptベースのJavaScriptリファレンス

ホーム前へ次へ