(Neko)" alc_cleanup:1个设备未关闭"而不是错误消息

时间:2017-10-20 16:30:23

标签: exception runtime-error haxe neko

我正在使用Haxe制作游戏并定位neko。任何未捕获的异常都会导致alc_cleanup错误。

问题是,此错误会阻止异常详细信息的输出。

这很烦人,因为我使用了断言,所以如果其中一个测试失败,我就无法找出哪个引发了异常。

这里有任何帮助吗?

1 个答案:

答案 0 :(得分:2)

alc_cleanup错误只是因为正在使用的OpenAl音频设备(由您的游戏或底层框架)在终止程序之前尚未关闭(由于未捕获的异常)。

如果可以,您可能希望自己捕获并记录该异常,以防止它被alc_cleanup错误损坏:

static function main()
{
    try {
       // do stuff
    } catch (e:Dynamic) {
        trace('ERROR: $e');
        trace(haxe.CallStack.toString(haxe.CallStack.exceptionStack()));
        Sys.exit(1);
    }
}

你也可以:

  • 尝试在用于销毁OpenAl上下文的框架中找到合适的API
  • neko.Lib.rethrow自己进行必要的清理后的例外