AS3 - 捕获抛出的任何错误,并跟踪它们?(AS3 - Catch ANY Error thro

2019-10-29 18:29发布

我想有很多设备测试的游戏,我觉得调试游戏和解决特定的代码问题的最好办法是让设备连接并在Adobe ANIMATE调试模式,这样我可以赶在输出任何错误窗口。

例如,如果我调试,并连接到动画,输出窗口会抛出这样的错误:

的ReferenceError:错误#1065:不定义的变量bg_storage。 在全球/ flash.utils :: getDefinitionByName()在游戏/ stageAdd()[/用户/ ** / Game.as:360]

现在,我确切地知道问题是什么,在哪里可以找到它。 我喜欢这样的错误。

我的问题:如果我没有连接调试模式,以动画的设备,是有办法使游戏检测出现的任何错误,并将其存储为一个字符串,这样我可以把一个大的文本块上的游戏错误字符串和跟踪。

或至少一种方式来记录他们一些如何?

例如:如果抛出一个错误,有错误文本设置为一个字符串变量,然后有一个文本框中写的是字符串变量。

我希望这不是太混乱。 如果我在一个贫穷的方式去有关调试的,我很想知道你们做跟踪误差不连接到调试模式。

编辑我可以看到一个办法是你的UncaughtErrorEvent事件添加到每个功能能够赶上这些错误...

loadbar.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR ...)

我想使它所以在游戏中的任何部分抛出的任何错误都将某处跟踪的错误给我打电话,让我可以看戏考试期间抛出的任何错误,而无需连接到调试模式的字符串值。

谢谢!

Answer 1:

当然。 有完全用于一个类: https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/UncaughtErrorEvent.html请查看网页底部的例子听为正确的情况下,该事件。

您也可以自由去抓住你想要做的事情,我自己的类: https://bitbucket.org/thydmitry/ru.delimiter/src/2756fadd741a6d44276fde1701470daf24cebfa8/classes/ru/delimiter/utils/Log.as?at=default&fileviewer=文件视图默认

您需要将它添加到您的项目,然后在主文档类的调用(在构造函数中,最好是):

Log.create(this);
Log.handleExceptions(this, true);


文章来源: AS3 - Catch ANY Error thrown and keep track of them?