Невозможно получить уведомление о необработанных исключениях в Flex 3. Adobe знает о проблеме, но я не знаю, планируют ли они создать обходной путь.
Единственное решение в его нынешнем виде - поместить try / catch в логические места и убедиться, что вы слушаете событие ERROR (или FAULT для веб-сервисов) для всего, что их отправляет.
Редактировать: Кроме того, фактически невозможно отловить ошибку, выданную обработчиком события. Я зарегистрировал ошибку в системе ошибок Adobe.
Обновление 2010-01-12: Глобальная обработка ошибок теперь поддерживается в Flash 10.1 и AIR 2.0 (оба в бета-версии), и достигается подписка на UNCAUGHT_ERROR событие LoaderInfo.uncaughtErrorEvents . Следующий код взят из примера кода в liveocs :
public class UncaughtErrorEventExample extends Sprite
{
public function UncaughtErrorEventExample()
{
loaderInfo.uncaughtErrorEvents.addEventListener(
UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler);
}
private function uncaughtErrorHandler(event:UncaughtErrorEvent):void
{
if (event.error is Error)
{
var error:Error = event.error as Error;
// do something with the error
}
else if (event.error is ErrorEvent)
{
var errorEvent:ErrorEvent = event.error as ErrorEvent;
// do something with the error
}
else
{
// a non-Error, non-ErrorEvent type was thrown and uncaught
}
}