次の方法で共有


Error オブジェクト

更新 : 2007 年 11 月

エラーに関する情報を格納します。Error コンストラクタには、次の 2 つの形式があります。

function Error([description : String ])
function Error([number : Number [, description : String ]])

引数

  • number
    省略可能です。number プロパティの値を指定する、エラーに割り当てられた数値。省略した場合は 0 です。

  • description
    省略可能です。エラーを説明する短い文字列。description プロパティおよび message プロパティの初期値になります。省略した場合は空の文字列です。

解説

Error オブジェクトは、上に示したコンストラクタを使用して明示的に作成できます。Error オブジェクトにプロパティを追加して、その機能を拡張できます。ランタイム エラーが発生した場合はいつでも、Error オブジェクトを作成してエラーを表すことができます。

一般に、Error オブジェクトは throw ステートメントでスローされ、try...catch ステートメントでキャッチされます。throw ステートメントを使用して任意のデータ型をエラーとして渡すことができますが、throw ステートメントは暗黙的に Error オブジェクトを作成しません。Error オブジェクトをスローすることにより、catch ブロックが JScript のランタイム エラーおよびユーザー定義エラーを同様に処理できます。

Error オブジェクトには 4 つの組み込みプロパティがあります。エラーの説明 (description および message プロパティ)、エラー番号 (number プロパティ)、およびエラーの名前 (name プロパティ) の 4 つです。description プロパティおよび message プロパティは、同じメッセージを参照します。description プロパティは下位互換性を提供し、message プロパティは ECMA 規格に準拠しています。

エラー番号は 32 ビット値です。上位の 16 ビット ワードは機能識別符号です。下位のワードは実際のエラー コードです。実際のエラー コードを読み取るには、& (ビットごとの And) 演算子を使用して、number プロパティと 16 進数の 0xFFFF を組み合わせます。

t9zk6eay.alert_caution(ja-jp,VS.90).gif注意 :

ASP.NET ページで JScript の Error オブジェクトを使用した場合、予期しない結果が生じることがあります。これは、JScript の Error オブジェクトと ASP.NET ページの Error イベントの間にあるあいまいさが原因です。ASP.NET ページのエラー処理には、Error オブジェクトではなく System.Exception クラスを使用してください。

t9zk6eay.alert_note(ja-jp,VS.90).gifメモ :

Error オブジェクトがサポートされるのは JScript だけです。このオブジェクトは .NET Framework 型から派生していないため、他の共通言語仕様 (CLS: Common Language Specification) 言語では使用できません。したがって、CLS 準拠のメソッドのパラメータと戻り値の型を型の注釈で指定する場合は、Error オブジェクトではなく System.Exception 型を使用してください。ただし、パラメータや戻り値の型以外の識別子では、Error オブジェクトを使用して型の注釈を指定できます。詳細については、「CLS 準拠コードの記述」を参照してください。

使用例

次のコードは、Error オブジェクトの使用例です。

try {
   // Throw an error.
   throw new Error(42,"No question");
} catch(e) {
   print(e)
// Extract the error code from the error number.
   print(e.number & 0xFFFF)
   print(e.description)
}

このコードの出力は次のようになります。

Error: No question
42
No question

プロパティおよびメソッド

Error オブジェクトのプロパティとメソッド

必要条件

Version 5

参照

参照

new 演算子

throw ステートメント

try...catch...finally ステートメント

var ステートメント

Page