Apache flex ActionScript 3.0 UncaughtErrorEvent工作不正常
我不太了解UncaughtErrorEvent,无法让它为我的Air 2.6应用程序工作。如果我用调试器一步一步地检查代码,我会得到非常奇怪的结果 代码如下:Apache flex ActionScript 3.0 UncaughtErrorEvent工作不正常,apache-flex,actionscript-3,exception,Apache Flex,Actionscript 3,Exception,我不太了解UncaughtErrorEvent,无法让它为我的Air 2.6应用程序工作。如果我用调试器一步一步地检查代码,我会得到非常奇怪的结果 代码如下: public class Main extends Sprite{ public function Main(){ loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, onUncaughtE
public class Main extends Sprite{
public function Main(){
loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, onUncaughtError);
// ...
}
...
private function onUncaughtError(e:UncaughtErrorEvent):void
{
var error:Error = e.error;
Logger.log("Uncaught Error - Type: " + e.type + " - Message: " + error.message, "session");
}
}
我在var-error:error=e.error行上设置了一个断点
并启动应用程序
在某一点上,会发生异常,调试器会在特定行上正确断开
现在是奇怪的部分
当我单击“step over(F6)”时,我希望应用程序跳转到下一行“Logger.log(…”——但是控制台将显示抛出的异常
Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
然后应用程序重新运行,“Logger.log(…”行永远不会执行
这怎么可能呢?调试器怎么会在var error:error=e.error
上中断,但下一行没有执行
感谢您的澄清
当内容在调试器中运行时
运行时的版本,例如
Flash Player的调试器版本或
空中调试发射器(ADL),一种
当发生错误时,将显示“未捕获错误”对话框
发生未捕获的错误。对于那些
运行时版本,错误对话框
即使在侦听器处于活动状态时也会显示
已注册未捕获错误
事件。以防止对话框
如果出现这种情况,请致电
UncaughtErrorEvent对象的
preventDefault()方法
顺便说一下,
e.error
可以是错误
或错误事件
。