【发布时间】:2014-09-27 18:42:16
【问题描述】:
我正在关注 Franco Ponticelli 和 Lee McColl-Sylvester 所著的《Professional Haxe and Neko》一书。
第 7 章——当事情出错时是关于错误和异常的
当我按照 pg.192 中概述的代码(我在此处已最小化)时,我有
class CallStack {
public static function main():Void {
var i:Int = 0;
i = multiply(i, 6);
}
public static function multiply(a,b) {
return a * traceStack(b);
}
public static function traceStack(a) {
var cs = haxe.CallStack.callStack();
trace(haxe.CallStack.toString(cs));
return a;
}
}
当我编译这段代码时,它返回一个空的 callStack。
根据 Haxe API callStack() 函数
返回调用堆栈元素,如果不可用则返回空数组。
所以我的问题是这些,
为什么堆栈元素不可用?
还有什么会导致 callStack 函数返回一个空数组?
有没有更好的方法来检索这些信息?
【问题讨论】: