我正在开发Flex + AIR应用程序。在使用Flash Builder进行调试时,有时会出现运行时错误对话框,其中包含'continue'和& '解雇所有'按钮。但是当我发布一个版本(.air)&安装后运行应用程序。然后我没有在发布版本中获得相同的对话框。
我需要跟踪这些类型的运行时错误,因为我试图将它们作为日志写入文件。
我尝试过使用try catch&写入catch块中的文件,但我无法获得任何未处理的异常或运行时错误。
有没有办法实现它?
提前致谢。
答案 0 :(得分:0)
仅当您使用Flash Player的调试版时才会显示错误对话框。
您可以注册UncaughtErrorEvent
处理程序并使用trace
或logging API记录错误:
private function onApplicationComplete():void
{
loaderInfo.uncaughtErrorEvents.addEventListener(
UncaughtErrorEvent.UNCAUGHT_ERROR, onUncaughtError);
}
private function onUncaughtError(event:UncaughtErrorEvent):void
{
trace(error);
}
答案 1 :(得分:0)
您无法使用Flash调试播放器调试已编译的AIR应用程序,因为在进行发布版本时会删除调试信息。您可以使用De MonsterDebugger之类的内容来输出错误信息,但通常在发布版本中显示错误信息是个坏主意。你应该在发布之前进行测试。
答案 2 :(得分:0)
在Flash 11.5+中,现在可以使用error.getStackTrace()在运行时获取堆栈跟踪,请参阅http://renaun.com/blog/2012/09/getting-the-stack-trace-in-a-release-flash-player/
它在Air应用程序中为我工作。