Haxe 3返回空CallStack

问题描述 投票:1回答:1

我正在关注Franco Ponticelli和Lee McColl-Sylvester撰写的“专业Haxe和Neko”一书。

第7章 - 事情发生时错误是关于错误和异常

当我按照第189页(我在这里最小化)上概述的代码时,我有

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函数返回一个空数组? 有没有更好的方法来检索此信息?

haxe callstack
1个回答
0
投票

除非您在调试模式下运行,否则堆栈跟踪可能不可用。

© www.soinside.com 2019 - 2024. All rights reserved.