我正在使用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
异常