As3捕捉全局异常

从FP10.1开始AS3可以捕获全局异常:

package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.UncaughtErrorEvent;

/**
* ...
* @author me
*/
public class Main extends Sprite
{

public function Main()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
if (loaderInfo)
{
loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, onError);
}
var obj:Object = {};
trace(obj.obj.obj);
}

private function onError(e:UncaughtErrorEvent):void
{
var errorMsg:String = "未捕获错误:";
if (e.error is Error)
{
errorMsg += "errorId = " + e.error.errorID + ", errorName = " + e.error.name + ", errorMessage = " + e.error.message;
}
else
{
errorMsg += "errorId = " + e.errorID;
}
trace(errorMsg);
}

}

}

posted @ 2017-08-09 14:57  chinayfhuang  阅读(190)  评论(0编辑  收藏  举报