更新:2007 年 11 月
提供静态函数,这些函数包含异常详细信息,并支持应用程序编译模式(调试或发布),从而扩展了内置 ECMAScript (JavaScript) Error 类型。
**命名空间:**无。此类型扩展是全局性的,不属于任何命名空间。
**继承:**无
var err = Error.create(message, errorInfo);
成员扩展
名称 |
说明 |
|---|---|
创建一个 Error 对象,该对象表示 Sys.ArgumentException 异常。 |
|
创建一个 Error 对象,该对象表示 Sys.ArgumentNullException 异常。 |
|
创建一个 Error 对象,该对象表示 Sys.ArgumentOutOfRangeException 异常。 |
|
创建一个 Error 对象,该对象表示 Sys.ArgumentTypeException 异常。 |
|
创建一个 Error 对象,该对象表示 Sys.ArgumentUndefinedException 异常。 |
|
创建一个 Error 对象,该对象包含可选的更多错误信息。 |
|
创建一个表示 Sys.FormatException 异常的 Error 对象。 |
|
创建一个 Error 对象,该对象表示 Sys.InvalidOperationException 异常。 |
|
表示对错误的说明。 |
|
表示用于标识错误的名称。 |
|
创建一个 Error 对象,该对象表示 Sys.NotImplementedException 异常。 |
|
创建一个 Error 对象,该对象表示 Sys.ParameterCountException 异常。 |
|
更新 Error 实例的 fileName 和 lineNumber 属性,可以指示引发错误的位置而不是创建错误的位置。如果要创建自定义错误类型,请使用此函数。 |
备注
Error 扩展是 Microsoft AJAX Library 的一部分。这些扩展为内置的 JavaScript Error 对象添加了功能。
错误类型
Error 类型扩展生成一个 Error 类型,该类型带有表示异常详细信息的附加字段。所有 Error 类型扩展添加至少一个 name 字段以标识异常。可以测试异常的 name 字段以确定要进行的操作。
下面的示例演示如何测试 Sys.ArgumentNullException 异常的 Error,name 属性。
try{ }
catch (e) {
if (e.name === "Sys.ArgumentNullException"){
// Code here ot handle exception.
}
}
有关此类型扩展的 JavaScript 对象的更多信息,请参见语言参考中的 错误对象。
优化调试和发布模式的客户端脚本错误处理
ASP.NET AJAX Error 对象扩展提供附加客户端脚本错误处理功能。
ASP.NET 提供用于 AJAX 客户端脚本的调试和发布应用程序编译模式。这样一来,您可以在调试脚本中引发异常,这对调试过程很有帮助,同时最大程度减小发布代码的大小,着重提高性能。调试模式提供类型检查和参数检查等附加错误处理功能,而且提供比发布模式更详细的错误消息。
有关更多信息,请参见如何:为 ASP.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);