ECMAScript 核心错误类

ECMAScript 核心错误类包括 Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError 以及 URIError 类。其中的每个类均位于顶级命名空间中。

类名称

说明

备注

Error

Error 类可用于引发异常,它是 ECMAScript 中所定义的其它异常类(EvalError、RangeError、ReferenceError、SyntaxError、TypeError 和 URIError)的基类。

Error 类用作 Flash Player 所引发的所有运行时错误的基类,并建议将其用作任何自定义错误类的基类。

EvalError

如果为 Function 类的构造函数传递了任何参数,或者用户代码调用 eval() 函数,则会引发 EvalError 异常。

在 ActionScript 3.0 中,取消了对 eval() 函数的支持,因此,如果试图使用该函数,则会引发错误。

Flash Player 的先前版本使用 eval() 函数来按照名称访问变量、属性、对象或影片剪辑。

RangeError

如果数值不在可接受的范围内,则会引发 RangeError 异常。

例如,当延迟是负数或不是有限值时,Timer 类就会引发 RangeError。试图在无效深度处添加显示对象也会引发 RangeError。

ReferenceError

如果试图对密封(非动态)对象引用未定义的属性,则会引发 ReferenceError 异常。试图访问未定义的属性时,ActionScript 3.0 之前的 ActionScript 编译器版本并不会引发错误。但鉴于新的 ECMAScript 规范规定在这种情况下应引发错误,因此 ActionScript 3.0 将引发 ReferenceError 异常。

由于访问未定义变量而引发异常表明存在潜在的错误,有助于提高软件质量。不过,如果您不习惯于对变量进行初始化,则对于 ActionScript 这种新的行为,您可能需要改变一些代码编写习惯。

SyntaxError

如果 ActionScript 代码发生解析错误,则会引发 SyntaxError 异常。

有关详细信息,请参阅位于以下地址的 ECMAScript (ECMA-262) 第 3 版语言规范(在第 4 版推出之前)的 15.11.6.4 节:www.ecma-international.org/publications/standards/Ecma-262.htm,以及位于以下地址的 ECMAScript for XML (E4X) 规范(ECMA-357 第 2 版)的 10.3.1 节:www.ecma-international.org/publications/standards/Ecma-357.htm

在以下情况下会引发 SyntaxError:

  • 当 RegExp 类解析的是无效正则表达式时,ActionScript 会引发 SyntaxError 异常。
  • 当 XMLDocument 类解析的是无效 XML 时,ActionScript 会引发 SyntaxError 异常。

TypeError

如果操作数的实际类型与所需类型不同,则会引发 TypeError 异常。

有关详细信息,请参阅位于以下地址的 ECMAScript 规范的 15.11.6.5 节:www.ecma-international.org/publications/standards/Ecma-262.htm,以及位于以下地址的 E4X 规范的 10.3 节:www.ecma-international.org/publications/standards/Ecma-357.htm

在以下情况下会引发 TypeError:

  • 无法将函数的实际参数或方法强制为正式参数类型。
  • 值已赋给变量,但无法强制为变量的类型。
  • is 或 instanceof 运算符的右侧不是有效类型。
  • 非法使用了 super 关键字。
  • 属性查找生成了多个绑定,因此造成该查找不明确。
  • 对不兼容的对象调用了某种方法。例如,如果 RegExp 类中的某个方法被“转接”到通用对象上,然后调用该方法,则将引发 TypeError 异常。

URIError

如果采用与某个全局 URI 处理函数的定义相矛盾的方式使用该函数,则会引发 URIError 异常。

有关详细信息,请参阅位于以下地址的 ECMAScript 规范的 15.11.6.6 节:www.ecma-international.org/publications/standards/Ecma-262.htm

在以下情况下会引发 URIError:

为需要有效 URI 的 Flash Player API 函数(如 Socket.connect())指定了无效的 URI。


Flash CS3

 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00000106.html