Flex 3 でキャッチされない例外について通知を受ける方法はありません。アドビはこの問題を認識していますが、回避策を作成する予定があるかどうかはわかりません。
現状の唯一の解決策は、try/catch を論理的な場所に配置し、それらをディスパッチするすべてのエラー (または Web サービスの場合は FAULT) イベントをリッスンしていることを確認することです。
編集:さらに、イベント ハンドラーからスローされたエラーをキャッチすることは実際には不可能です。Adobe Bug System にバグを記録しました。
2010 年 1 月 12 日更新:グローバル エラー処理がFlash 10.1およびAIR 2.0 (どちらもベータ版) でサポートされるようになりました。次のコードは、livedocs のコード サンプルから抜粋したものです。
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
}
}