class catchError { private var i:Number; //递归计数 private static var RECUR_NUM:Number=250;//定义级数. function test() { i = RECUR_NUM; try { show(0); } catch (e) { trace(e); } } private function show(k:Number):Void { //递归方法 trace(k); count(); //计数 show(k+1); //递归 } private function count():Void { //计数器 i--; if (i<=0) { i=RECUR_NUM; throw new Error("error:recursion is beyond 256 levels"); } } } /* usage: var e:catchError = new catchError(); e.test(); trace: 0 1 2 ...... 248 249 error:recursion is beyond 256 levels */