ActionScript 3错误的使用方式与Java异常相同吗?

时间:2011-08-16 11:39:19

标签: java flex actionscript-3

我的第一个猜测是:不。 Java中的异常是为了捕获“预期的”异常并在应用程序中处理它们。 ActionScript 3中的错误用于处理“意外”错误。 我是对的吗?

3 个答案:

答案 0 :(得分:8)

ActionScript和Java中的异常具有相同的概念,除了以下内容:

  • Java检查并取消选中了异常。在ActionScript中,所有异常都是未选中的,因此您需要阅读API文档或源代码以处理特定方法可能引发的可能异常。可以抛出的所有ActionScript异常都继承自Error class
  • Flash Player中的ActionScript具有异步特性。这就是您无法使用try…catch…finally块处理某些异常的原因。在Flash Player 10.1之前,无法处理这些异常。 Flash Player 10.1添加了global error handling flash.events.UncaughtErrorEvent
  • 某些类产生记录的错误事件,这些事件与异常具有相同的功能。它们继承自flash.events.ErrorEvent,并在缺少相应的事件侦听器时生成异常。例如,SWFLoader可以触发应该处理的ioError类型flash.events.IOErrorEvent

与错误相关的所有其他事情与Java类似:)

答案 1 :(得分:0)

是。虽然Java中的错误指的是普通程序员范围之外的问题,但ActionScript中的错误在try ... catch ... finally语句中处理,如Java中的异常。

请参阅此ActionScript 2 guideAdobe's documentation

答案 2 :(得分:0)

不是不喜欢

这是语法

try {
    // statements
} catch (error:ArgumentError) {
    trace('An argument error has occured');
} catch (error:Error) {
    trace('An error has occured which is not argument related');
}

我们也可以使用像IO,自定义事件这样的有争议的例外。