错误对象

更新:2007 年 11 月

包含有关错误的信息。Error 构造函数有两种形式。

function Error([description : String ])
function Error([number : Number [, description : String ]])

参数

  • number
    可选。分配到错误的数值,指定 number 属性的值。如果省略,则为零。

  • description
    可选。描述错误的简短字符串,指定 descriptionmessage 属性的初始值。如果省略,则为空字符串。

备注

Error 对象可以使用以上所示的构造函数来显式地创建。您可以在 Error 对象中添加属性,以扩展其功能。每当出现运行时错误,也会创建一个 Error 对象来对错误进行描述。

通常,Error 对象通过 throw 语句以及它将被 try...catch 语句捕获这一期望来引发。您可以使用 throw 语句将任何类型的数据当作错误来传递;throw 语句将不会隐式地创建 Error 对象。但是,通过引发 Error 对象,catch 块可以类似地处理 JScript 运行时错误和用户定义的错误。

Error 对象具有四项内部属性:错误说明(descriptionmessage 属性)、错误号(number 属性)和错误的名称(name 属性)。descriptionmessage 属性引用相同的消息;description 属性提供向后兼容性,而 message 属性符合 ECMA 标准。

错误号是一个 32 位的值。较高的 16 位字是设施代码,而较低的字才是真正的错误代码。若要读完实际的错误代码,请使用 &(按位与)运算符来将 number 属性与十六进制数字 0xFFFF 组合。

警告:

尝试在 ASP.NET 页中使用 JScript Error 对象可能会产生意外的结果。这是因为 ASP.NET 页的 JScript Error 对象与 Error 事件之间可能存在二义性。在 ASP.NET 页中处理错误时,要使用 System.Exception 类,而不使用 Error 对象。

说明:

只有 JScript 提供 Error 对象。由于它不是从 .NET Framework 类型派生的,所以其他公共语言规范 (CLS) 语言不能使用它。因此,当对参数和符合 CLS 的方法的返回类型进行类型批注时,请确保使用 System.Exception 数据类型,而不是 Error 对象。然而,可以使用 Error 对象对标识符(而不是参数或返回类型)进行类型批注。有关更多信息,请参见编写符合 CLS 的代码

示例

下面的示例阐释 Error 对象的用法。

try {
   // Throw an error.
   throw new Error(42,"No question");
} catch(e) {
   print(e)
// Extract the error code from the error number.
   print(e.number & 0xFFFF)
   print(e.description)
}

该代码的输出为:

Error: No question
42
No question

属性和方法

Error 对象属性和方法

要求

版本 5

请参见

参考

new 运算符

throw 语句

try...catch...finally 语句

var 语句

Page