Error 类型扩展

更新:2007 年 11 月

提供静态函数,这些函数包含异常详细信息,并支持应用程序编译模式(调试或发布),从而扩展了内置 ECMAScript (JavaScript) Error 类型。

**命名空间:**无。此类型扩展是全局性的,不属于任何命名空间。

**继承:**无

var err = Error.create(message, errorInfo);

成员扩展

名称

说明

Error.argument 函数

创建一个 Error 对象,该对象表示 Sys.ArgumentException 异常。

Error.argumentNull 函数

创建一个 Error 对象,该对象表示 Sys.ArgumentNullException 异常。

Error.argumentOutOfRange 函数

创建一个 Error 对象,该对象表示 Sys.ArgumentOutOfRangeException 异常。

Error.argumentType 函数

创建一个 Error 对象,该对象表示 Sys.ArgumentTypeException 异常。

Error.argumentUndefined 函数

创建一个 Error 对象,该对象表示 Sys.ArgumentUndefinedException 异常。

Error.create 函数

创建一个 Error 对象,该对象包含可选的更多错误信息。

Error.format 函数

创建一个表示 Sys.FormatException 异常的 Error 对象。

Error.invalidOperation 函数

创建一个 Error 对象,该对象表示 Sys.InvalidOperationException 异常。

Error.message 字段

表示对错误的说明。

Error.name 字段

表示用于标识错误的名称。

Error.notImplemented 函数

创建一个 Error 对象,该对象表示 Sys.NotImplementedException 异常。

Error.parameterCount 函数

创建一个 Error 对象,该对象表示 Sys.ParameterCountException 异常。

Error.popStackFrame 函数

更新 Error 实例的 fileNamelineNumber 属性,可以指示引发错误的位置而不是创建错误的位置。如果要创建自定义错误类型,请使用此函数。

备注

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);

请参见

概念

调试和跟踪 AJAX 应用程序概述

参考

错误对象

new 运算符

Error 类型函数

Error 类型字段

其他资源

语言参考