今天写了一段代码,报错 Error: Error #1023: 发生堆栈上溢
代码:
private var _startX:Number;
public function set startX(value:Number):void {
this._startX = value;
}
public function get startY():Number {
return this.startY;
}
场景恢复:
在调用时 给 startX 赋值 startX = 1;刚开始我一直没看明白为什么出错了,后来才发现是return this.startY;少了下划线,导致了循环
原因分析:
return this.startY;少了下划线,导致了循环
结论 :
1 “粪坑”被撑爆了的原因
(1) for循环处理不正确;
(2) 嵌套调用不正确
2 堆栈溢出
堆栈溢出有两种情况可能发生:
(1)堆栈已满,再存入信息,这种情况称为堆栈上溢;
(2)堆栈已空,再取出信息,这种情况称为堆栈下溢。
3 处理方案
程序保护,避免破坏其他存储区或使程序出错的情况发生