更新:2007 年 11 月
创建一个 Error 对象,该对象包含附加错误信息。
var err = Error.create(message, errorInfo);
参数
message
(可选)错误消息字符串。errorInfo
(可选)JavaScript 对象实例,其中包含错误的相关扩展信息。该对象必须具有一个 name 字段,其中包含标识错误的字符串。该对象还可包含对错误进行完全描述的字段。
返回值
一个 Error 对象。
备注
使用 create 函数可以创建可包含附加错误信息的 Error 对象。使用 message 参数可将信息附加于错误,当相应错误发生时,这些信息可在应用程序中显示;使用该参数也可提供用于跟踪错误的详细信息。使用 errorInfo 参数可将错误信息作为字段添加到由该函数创建的 Error 对象。这样,可以指定自定义错误信息,从而更详细地描述错误。提供的 JavaScript 对象必须具有一个名为 name 的字段,其中包含标识错误的字符串。在 errorInfo 对象中,可以提供任意类型、任意名称的额外字段,对于自定义异常处理,这非常有用。
示例
下面的示例演示如何使用 create 函数来创建新的 Error 对象。该示例中创建了三个错误。第一个错误为 Sys.ArgumentTypeException 异常。第二个错误提供了传递给 message 参数的消息字符串。第三个错误提供了错误消息字符串和传递给 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");