本頁の目次 目次

15.11 Error オブジェクト (Error Objects)

実行時エラーが発生したとき、Error オブジェクトのインスタンスが例外として投げられる。 Error オブジェクトはユーザ定義の例外クラスのための基本オブジェクトとして出されてもよい。

15.11.1 関数として呼ばれる Error コンストラクタ (The Error Constructor Called as a Function)

コンストラクタとしてではなく関数として Error が呼ばれるとき、それは新しい Error オブジェクトを生成して初期化する。それゆえ関数呼出し Error(...) は、同じ引数を持つオブジェクト生成式 new Error(...) と等価である。

15.11.1.1 Error (message)

新規に構築されたオブジェクトの [[Prototype]] プロパティは、 Error.prototype (セクション 15.11.3.1) の初期値である、オリジナルの Error プロトタイプオブジェクトに設定される。

新規に構築されたオブジェクトの [[Class]] プロパティは、 "Error" に設定される。

引数 message が undefined でないならば、新規に構築されたオブジェクトの message プロパティは、 ToString(message) に設定される。

15.11.2 Error コンストラクタ (The Error Constructor)

Error が new 式の一部として呼出されるとき、それはコンストラクタである: それは新規に生成されたオブジェクトを初期化する。

15.11.2.1 new Error (message)

新規に構築されたオブジェクトの [[Prototype]] プロパティは、 Error.prototype (セクション 15.11.3.1) の初期値である、オリジナルの Error プロトタイプオブジェクトに設定される。

新規に構築されたオブジェクトの [[Class]] プロパティは、 "Error" に設定される。

引数 message が undefined でないならば、新規に構築されたオブジェクトの message プロパティは、 ToString(message) に設定される。

15.11.3 Error コンストラクタのプロパティ (Properties of the Error Constructor)

Error コンストラクタの内部 [[Prototype]] プロパティの値は、 Function プロトタイプオブジェクト (セクション 15.3.4) である。

内部プロパティと length プロパティ (値は 1) の他に、 Error コンストラクタは次のプロパティを持つ:

15.11.3.1 Error.prototype

Error.prototype の初期値は、 Error プロトタイプオブジェクト (セクション 15.11.4) である。

このプロパティは、属性 { DontEnum, DontDelete, ReadOnly } を持つ。

15.11.4 Error プロトタイプオブジェクトのプロパティ

Error プロトタイプオブジェクトは、それ自身が Error オブジェクト ([[Class]] が "Error") である。

Error プロトタイプオブジェクトの内部 [[Prototype]] プロパティの値は、 Object プロトタイプオブジェクト (セクション 15.2.3.1) である。

15.11.4.1 Error.prototype.constructor

Error.prototype.constructor の初期値は、組込み Error コンストラクタである。

15.11.4.2 Error.prototype.name

Error.prototype.name の初期値は、 "Error" である。

15.11.4.3 Error.prototype.message

Error.prototype.message の初期値は、実装依存の文字列である。

15.11.4.4 Error.prototype.toString ( )

実装が定義した文字列を返す。

15.11.5 Error インスタンスのプロパティ

Error インスタンスは、 Error プロトタイプオブジェクトから継承するものの上に特にプロパティを持たない。

15.11.6 この標準において使用されるネイティブエラー型 (Native Error Types Used in This Standard)

実行時エラーが検出されたとき、下記の NativeError オブジェクトの一つが投げられる。これらのオブジェクトは全て、セクション 15.11.7 に述べたような同じ構造を共有する。

15.11.6.1 EvalError

定義に沿わない方法でグローバル関数 eval が使用された事を示す。セクション 15.1.2.1 参照。

15.11.6.2 RangeError

Indicates a 数値が許可された範囲を超過したことを示す。セクション 15.4.2.2, 15.4.5.1, 15.7.4.5, 15.7.4.6, 15.7.4.7 参照。

15.11.6.3 ReferenceError

不正な reference 値が検出されたことを示す。セクション 8.7.1, 8.7.2 参照。

15.11.6.4 SyntaxError

解析エラーが発生したことを示す。セクション 15.1.2.1, 15.3.2.1, 15.10.2.5, 15.10.2.9, 15.10.2.15, 15.10.2.19, 15.10.4.1 参照。

15.11.6.5 TypeError

オペランドの実際の型が期待されたものと異なることを示す。セクション 8.6.2, 8.6.2.6, 9.9, 11.2.2, 11.2.3, 11.8.6, 11.8.7, 15.3.4.2, 15.3.4.3, 15.3.4.4, 15.3.5.3, 15.4.4.2, 15.4.4.3, 15.5.4.2, 15.5.4.3, 15.6.4, 15.6.4.2, 15.6.4.3, 15.7.4, 15.7.4.2, 15.7.4.4, 15.9.5, 15.9.5.9, 15.9.5.27, 15.10.4.1, 15.10.6 を参照。

15.11.6.6 URIError

グローバル URI ハンドリング関数の一つが、定義に沿わない方法で使用されたことを示す。セクション 15.1.3 参照。

15.11.7 NativeError オブジェクトの構造 (NativeError Object Structure)

ECMAScript 実装が実行時エラーを検出したとき、セクション 15.11.6 に定義される NativeError オブジェクトの一つのインスタンスを投げる。これらのオブジェクトのそれぞれは下に述べる構造をもち、プロトタイプオブジェクトの name プロパティ、およびプロトタイプオブジェクトの実装依存の message プロパティにおいて NativeError の代わりにコンストラクタ名として使用される名前だけが異なる。

エラーオブジェクトのそれぞれについて、定義内の NativeError の reference は、セクション 15.11.6 からの適切なエラーオブジェクト名で置換されるべきである。

15.11.7.1 関数として呼ばれる NativeError コンストラクタ (NativeError Constructors Called as Functions)

コンストラクタとしてではなく関数として NativeError が呼ばれるとき、それは新しいオブジェクトを生成して初期化する。オブジェクトの関数としての呼出しは、同じ引数を持つコンストラクタ呼出しと等価である。

15.11.7.2 NativeError (message)

新規に構築されたオブジェクトの [[Prototype]] プロパティは、このエラーコンストラクタのプロトタイプオブジェクトである。新規に構築されたオブジェクトの [[Class]] プロパティは、 "Error" に設定される。

引数 message が undefined でないならば、新規に構築されたオブジェクトの message プロパティは、 ToString(message) に設定される。

15.11.7.3 NativeError コンストラクタ (NativeError Constructors)

NativeError コンストラクタが new 式の一部として呼出されるとき、それはコンストラクタである: それは新規に生成されたオブジェクトを初期化する。

15.11.7.4 New NativeError (message)

新規に構築されたオブジェクトの [[Prototype]] プロパティは、NativeError コンストラクタのプロトタイプオブジェクトに設定される。新規に構築されたオブジェクトの [[Class]] プロパティは、 "Error" に設定される。

引数 message が undefined でないならば、新規に構築されたオブジェクトの message プロパティは、 ToString(message) に設定される。

15.11.7.5 NativeError コンストラクタのプロパティ (Properties of the NativeError Constructors)

NativeError コンストラクタの内部 [[Prototype]] プロパティの値は、 Function プロトタイプオブジェクト (セクション 15.3.4) である。

内部プロパティと length プロパティ (値は 1 ) の他に、各 NativeError コンストラクタは次のプロパティを持つ:

15.11.7.6 NativeError.prototype

NativeError.prototype の初期値は、 NativeError プロトタイプオブジェクト (セクション 15.11.7.7) である。各 NativeError コンストラクタは別個のプロトタイプオブジェクトを持つ。

このプロパティは、属性 { DontEnum, DontDelete, ReadOnly } を持つ。

15.11.7.7 NativeError プロトタイプオブジェクトのプロパティ (Properties of the NativeError Prototype Objects)

各 NativeError プロトタイプオブジェクトは、 Error オブジェクト ([[Class]] が "Error") である。

各 NativeError プロトタイプオブジェクトの内部 [[Prototype]] プロパティの値は、 Error プロトタイプオブジェクト (セクション 15.11.4) である。

15.11.7.8 NativeError.prototype.constructor

与えられた NativeError コンストラクタのプロトタイプの constructor プロパティの初期値は、 NativeError コンストラクタ関数自身 (セクション 15.11.7) である。

15.11.7.9 NativeError.prototype.name

与えられた NativeError コンストラクタのプロトタイプの name プロパティの初期値は、 コンストラクタの名前 (NativeError の代わりに使われる名前) である。

15.11.7.10 NativeError.prototype.message

与えられた NativeError コンストラクタのプロトタイプの message プロパティの初期値は、実装依存の文字列である。

NOTE NativeError コンストラクタのプロトタイプは独自の toString 関数を持たないが、エラーのインスタンスはそれを Error プロトタイプオブジェクトから継承する

15.11.7.11 NativeError インスタンスのプロパティ (Properties of NativeError Instances)

NativeError インスタンスは、 Error プロトタイプオブジェクトから継承するものの上に特にプロパティを持たない。

Page Contents

Issued: / Revised: / All rights reserved. © 2002-2016 TAKI