(涅科) "alc_cleanup: 1 device not closed"而不是错误消息



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

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

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

这里有任何帮助吗?

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异常

相关内容

最新更新