Error.create 関数
更新 : 2007 年 11 月
補足エラー情報を格納できる Error オブジェクトを作成します。
var err = Error.create(message, errorInfo);
引数
message
(省略可能) エラー メッセージ文字列。errorInfo
(省略可能) エラーに関する拡張情報を格納する JavaScript オブジェクトのインスタンス。オブジェクトには、エラーを識別する文字列を格納する name フィールドが必要です。また、オブジェクトには、エラーをより詳細に説明するフィールドも格納できます。
戻り値
Error オブジェクト。
解説
補足エラー情報を格納できる Error オブジェクトを作成するには、create 関数を使用します。引数 message を使用すると、エラーが発生したときにアプリケーションで表示可能なエラーに情報をアタッチしたり、エラーを追跡するための詳細を提供できます。引数 errorInfo を使用すると、関数によって作成された Error オブジェクトにエラー情報をフィールドとして追加できます。これにより、エラーについてより詳細に説明するカスタム エラー情報を指定することが可能になります。指定する JavaScript オブジェクトには、エラーを識別する文字列を格納する name というフィールドが必要です。errorInfo オブジェクトには任意の型および名前のフィールドを追加でき、カスタマイズされた例外処理に役立ちます。
使用例
create 関数を使用して新しい Error オブジェクトを作成する方法を次に示します。3 つのエラーが作成されます。1 つ目のエラーは、Sys.ArgumentTypeException 例外です。2 つ目のエラーでは、引数 message に渡されたメッセージ文字列が表示されます。3 つ目のエラーでは、引数 errorInfo に渡されたエラー メッセージ文字列およびオブジェクトが表示されます。errorInfo オブジェクトは、エラーを識別する name フィールドと、エラーについて説明する補足フィールドを提供します。
function throwAnError(input)
{
if (input === undefined)
{
// Throw a standard exception type.
var err = Error.argumentNull("input", "A parameter was undefined.");
throw err;
}
else if (input === "Test1")
{
// Throw a generic error with a message.
var messageVar = "A test message.";
var err = Error.create(messageVar)
throw err;
}
else if (input === "Test2")
{
// Throw a generic error with a message and associated errorInfo object.
var messageVar = "This error contains an additional custom errorInfo object";
var errorInfoObj = { name: "SomeNamespace.SomeExceptionName", someErrorID: "436" };
var err = Error.create(messageVar, errorInfoObj);
throw err;
}
alert("No error occured.");
}
throwAnError("Test2");