包 | flash.errors |
类 | public dynamic class StackOverflowError |
继承 | StackOverflowError Error Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
StackOverflowError 异常可能表示已出现无限递归,在这种情况下,需要将终止 case 语句添加到该函数中。它可能还表示递归算法具有合适的终止条件,但还是用尽了堆栈。在这种情况下,请尝试改用迭代方式表示算法。
另请参见
方法 | 定义方 | ||
---|---|---|---|
StackOverflowError(message:String = "") 创建新的 StackOverflowError 对象。 | StackOverflowError | ||
在构造错误时,以字符串形式返回错误的调用堆栈(仅适用于 Flash Player 的调试版和 AIR Debug Launcher (ADL));如果未使用 Flash Player 的调试版或 ADL,则返回 null。 | Error | ||
指示对象是否已经定义了指定的属性。 | Object | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
默认情况下,返回字符串“Error”;如果已定义,则返回 Error.message 属性中包含的值。 | Error | ||
返回指定对象的原始值。 | Object |
StackOverflowError | () | 构造函数 |
public function StackOverflowError(message:String = "")
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
创建新的 StackOverflowError 对象。
参数message:String (default = " ") — 与此错误对象相关联的字符串。 |
lockMachine()
方法。
lockMachine()
方法调用自身,直到堆栈溢出为止。
trace
语句输出错误消息。
package { import flash.display.Sprite; import flash.errors.StackOverflowError; public class StackOverflowErrorExample extends Sprite { public function StackOverflowErrorExample() { try { lockMachine(); } catch(e:StackOverflowError) { trace(e); // StackOverflowError: Error #1023: Stack overflow. } } private function lockMachine():void { lockMachine(); } } }