Haxe 未捕获的全局异常处理程序
Haxe uncaught global exception handler
我正在为 CPP 目标使用 Haxe 编写 UI 应用程序。我需要在应用程序崩溃之前拦截 haxe error/exceptions。
以下是导致应用程序崩溃的代码示例:
@: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
时被捕获。
我正在为 CPP 目标使用 Haxe 编写 UI 应用程序。我需要在应用程序崩溃之前拦截 haxe error/exceptions。
以下是导致应用程序崩溃的代码示例:
@: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
时被捕获。