我正在使用Haxe为CPP目标编写应用程序的UI。我需要在崩溃应用程序之前拦截haxe错误/异常。 下面是崩溃应用程序的代码示例:
@:final private function callFoo(classA : IInterface) : Void
{
if ((mClassLevelVariable != null) && (classA != mClassLevelVariable))
{
throw new Error("Can not work with " + Type.getClassName(Type.getClass((classA))));
}
}
我需要在上面给出的错误之前拦截崩溃崩溃应用程序。我们在Haxe中是否有任何支持,例如Java提供Thread.UncaughtExceptionHandler
?
您可以简单地将main()
包装在try-catch中:
class Main {
static function main() {
try {
entryPoint();
} catch (e:Any) {
// do something with e
}
}
}
这也是how for instance OpenFL implements Flash's uncaught error event。
请注意,并非所有异常都可以在hxcpp中以这种方式捕获。例如,如果定义了HXCPP_CHECK_POINTER
,则只能捕获空指针异常。