Error 型拡張
更新 : 2007 年 11 月
例外詳細およびアプリケーション コンパイル モード (デバックまたはリリース) のサポートを含めることにより、組み込み ECMAScript (JavaScript) Error 型を拡張する静的関数を提供します。
名前空間 : なし。型拡張はグローバルであり、名前空間の一部ではありません。
継承 : なし
var err = Error.create(message, errorInfo);
メンバ拡張
名前 |
説明 |
---|---|
Sys.ArgumentException 例外を表す Error オブジェクトを作成します。 |
|
Sys.ArgumentNullException 例外を表す Error オブジェクトを作成します。 |
|
Sys.ArgumentOutOfRangeException 例外を表す Error オブジェクトを作成します。 |
|
Sys.ArgumentTypeException 例外を表す Error オブジェクトを作成します。 |
|
Sys.ArgumentUndefinedException 例外を表す Error オブジェクトを作成します。 |
|
省略可能な補足エラー情報を格納する Error オブジェクトを作成します。 |
|
Sys.FormatException 例外を表す Error オブジェクトを作成します。 |
|
Sys.InvalidOperationException 例外を表す Error オブジェクトを作成します。 |
|
エラーの説明を表します。 |
|
エラーを識別する名前を表します。 |
|
Sys.NotImplementedException 例外を表す Error オブジェクトを作成します。 |
|
Sys.ParameterCountException 例外を表す Error オブジェクトを作成します。 |
|
Error インスタンスの fileName プロパティと lineNumber プロパティを更新し、エラーが作成された場所ではなく、エラーがスローされた場所を示します。この関数は、カスタム エラー型を作成する場合に使用します。 |
解説
Error 拡張は Microsoft AJAX Library の一部です。これらは、組み込みの JavaScript Error オブジェクトに機能を追加します。
Error 型
Error 型拡張は、例外詳細を表す追加のフィールドを持つ Error 型を生成します。すべての Error 型拡張は少なくとも、例外を識別するための name フィールドを追加します。例外の name フィールドをテストすると、実行するアクションを確認できます。
Sys.ArgumentNullException 例外の Error,name プロパティをテストする方法を次の例に示します。
try{ }
catch (e) {
if (e.name === "Sys.ArgumentNullException"){
// Code here ot handle exception.
}
}
この型が拡張する JavaScript オブジェクトの詳細については、『言語リファレンス』の「Error オブジェクト」を参照してください。
デバッグ モードおよびリリース モードでのクライアント スクリプト エラー処理の最適化
ASP.NET AJAX Error オブジェクト拡張は、追加のクライアント スクリプト エラー処理機能を提供します。
ASP.NET は、AJAX クライアント スクリプトを実行するデバッグおよびリリース アプリケーション コンパイル モードを提供します。これにより、デバッグ処理で役立つ例外をデバッグ スクリプトでスローできますが、パフォーマンスを高めるためにリリース コードのサイズは最小限に抑えられます。デバッグ モードには、型チェックや引数チェックなどの補足エラー処理機能があり、リリース モードより詳細なエラー メッセージが提供されます。
詳細については、「方法 : .NET アプリケーションのデバッグを有効にする」および「AJAX アプリケーションのデバッグとトレースの概要」を参照してください。
使用例
ASP.NET AJAX Error オブジェクトの create メソッドを呼び出すことにより、新しい Error インスタンスを作成する方法を次の例に示します。
function validateNumberRange(input, min, max)
{
// Verify the required parameters were defined.
if (input === undefined)
{
// Throw a standard exception type.
var err = Error.argumentNull("input", "A parameter was undefined.");
throw err;
}
else if (min === undefined)
{
var err = Error.argumentNull("min", "A parameter was undefined.");
throw err;
}
else if (max === undefined)
{
var err = Error.argumentNull("max", "A parameter was undefined.");
throw err;
}
else if (min >= max)
{
var err = Error.invalidOperation("The min parameter must be smaller than max parameter.");
throw err;
}
else if (isNaN(input))
{
msg = "A number was not entered. ";
msg += String.format("Please enter a number between {0} and {1}.", min, max);
var err = Error.create(msg);
throw err;
}
else if (input < min || input > max)
{
msg = "The number entered was outside the acceptable range. ";
msg += String.format("Please enter a number between {0} and {1}.", min, max);
var err = Error.create(msg);
throw err
}
alert("The number entered was within the acceptable range.");
}
var input = undefined;
var min = -10;
var max = 10;
// Result: A thrown ErrorArgumentNull exception with the following Error object message:
// "Sys.ArgumentNullException: A parameter was undefined. Parameter name: input"
validateNumberRange(input, min, max);