包 | flash.errors |
类 | public dynamic class StackOverflowError |
继承 | StackOverflowError Error Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
StackOverflowError 异常可能表示已出现无限递归,在这种情况下,需要将终止 case 语句添加到该函数中。它可能还表示递归算法具有合适的终止条件,但还是用尽了堆栈。在这种情况下,请尝试改用迭代方式表示算法。
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
StackOverflowError(message:String = "")
创建新的 StackOverflowError 对象。 | StackOverflowError | ||
在构建错误时,以字符串形式返回该错误的调用堆栈。 | Error | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
[覆盖]
默认情况下,返回字符串“Error”;如果已定义,则返回 Error.message 属性中包含的值。 | Error | ||
返回指定对象的原始值。 | Object |
构造函数详细信息
StackOverflowError | () | 构造函数 |
示例 如何使用本示例
StackOverflowErrorExample.as
下例使用范例 StackOverflowErrorExample 类显示堆栈溢出时生成的错误。这是使用以下步骤完成的:
- 构造函数调用捕获 StackOverflowError 对象的错误处理代码段中的
lockMachine()
方法。 lockMachine()
方法调用自身,直到堆栈溢出为止。- 引发 StackOverflowError 后,构造函数捕获该错误,然后通过
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(); } } }
Tue Jun 12 2018, 11:04 AM Z