当我在调试模式下运行 Flex/AIR 应用程序并发生错误时,我看到:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
但是,当应用程序已作为发布版本安装并发生相同的错误时,我看不到错误消息。
我的应用程序是否可以将这些类型的错误保存到日志文件或通过电子邮件发送给我?
当我在调试模式下运行 Flex/AIR 应用程序并发生错误时,我看到:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
但是,当应用程序已作为发布版本安装并发生相同的错误时,我看不到错误消息。
我的应用程序是否可以将这些类型的错误保存到日志文件或通过电子邮件发送给我?
我已经设法使用UncaughtErrorEvent和airxmail类自己实现了这一点。
这是一个将 UncaughtError 事件添加到 loaderInfo 的简单案例(在由 FlexEvent.APPLICATION_COMPLETE 事件调用的方法中)。使用这两个类,应用程序将运行时错误通过电子邮件发送给我,当它们发生时,仅在发布模式下,因为 UncaughtError 事件不会在调试模式下触发。
如果要记录未捕获的错误,可以使用 uncaughtError 事件。
loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR,handleGlobalErrors);
function handleGlobalErrors( evt : UncaughtErrorEvent ):void
{
//code that saves error to log or send by email..
evt.preventDefault();
}
您可以在此处找到有关此功能的更多信息http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/UncaughtErrorEvent.html。
另请注意,如果您在调试模式下使用它,所有错误都将被 handleGlobalErrors 函数捕获,因此请记住这一点。