AS3-捕获引发的任何错误并跟踪它们吗?

时间:2018-07-28 16:03:20

标签: actionscript-3 debugging trace

我想让许多设备测试游戏,而我发现调试游戏和解决特定代码问题的最佳方法是在Adobe ANIMATE中连接设备并使其处于调试模式,这样我就可以捕获任何错误。在输出窗口中。

例如,如果我正在调试并连接到Animate,则输出窗口将抛出诸如以下错误:

ReferenceError:错误#1065:未定义变量bg_storage。     在global / flash.utils :: getDefinitionByName()     在Game / stageAdd()[/ Users / ** / Game.as:360]

现在,我确切地知道了问题所在以及在何处可以找到问题。我喜欢这样的错误。

我的问题: 如果没有在调试模式下连接到Animate的设备,是否可以使游戏检测抛出的任何错误并将它们存储为String,这样我就可以在错误游戏上放置一个大文本块并保持跟踪。

或者至少是一种如何记录它们的方式?

例如: 如果抛出错误,则将错误文本设置为String变量,然后在文本框中写出该String变量。

我希望不要太困惑。如果我打算以一种不好的方式进行调试,那么我很想知道你们在不连接调试模式的情况下如何跟踪错误。

编辑 我可以看到一种方法,就是您向每个函数添加一个uncaughtErrorEvent事件,以便能够捕获这些错误...

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

我正在尝试做到这一点,以便在游戏的任何部分引发的任何错误都可以将该错误跟踪到我可以调用的String值,这样我就可以查看在游戏测试会话中引发的任何错误而无需连接到调试模式。

谢谢!

1 个答案:

答案 0 :(得分:2)

好的。有一个专门用于该类的类: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=file-view-default

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

myfun1