Flex/AIR — отображение ошибок ActionScript в выпущенном приложении

Когда я запускаю приложение Flex/AIR в режиме отладки и возникает ошибка, я вижу это:

TypeError: Error #1009: Cannot access a property or method of a null object reference.

Однако, когда приложение было установлено как выпускная сборка и возникает та же ошибка, я не вижу сообщения об ошибке.

Может ли мое приложение сохранять эти типы ошибок в файл журнала или отправлять их мне по электронной почте?


person Reado    schedule 30.10.2013    source источник


Ответы (2)


Мне удалось реализовать это самостоятельно с помощью UncaughtErrorEvent и airxmail.

Это был простой случай добавления события UncaughtError в loaderInfo (внутри метода, который вызывается событием FlexEvent.APPLICATION_COMPLETE). Используя эти два класса, приложение отправляет мне по электронной почте ошибки времени выполнения по мере их возникновения, только в режиме выпуска, поскольку событие UncaughtError не срабатывает в режиме отладки.

person Reado    schedule 30.10.2013

Если вы хотите регистрировать неперехваченные ошибки, вы можете использовать событие 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, так что имейте это в виду.

person pulterao    schedule 30.10.2013