【发布时间】:2016-05-11 03:42:14
【问题描述】:
我的问题是如何在 Android 应用程序中捕获未处理的错误并进一步传递它们,这样它确实会使应用程序崩溃。
我正在为 Android 创建 SDK,我仍然希望开发人员处理他们的错误,但我也想了解我的崩溃。
我知道要捕获错误,我可以使用:
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
}
});
但是如何进一步传递呢?如何使应用程序崩溃?如果我使用:
throw new RuntimeException(ex);
它不会导致应用程序崩溃,而是会导致 ANR 错误。
第二个问题是Fabric (Crashlytics) 库如何工作? 请注意,如果 Fabric 也存在于应用程序中,我也不想破坏 Fabric 的工作流程。
【问题讨论】:
-
很抱歉,我的 ANR 错误是由于其他原因造成的,所以它确实使应用程序崩溃。
-
别忘了在
uncaughtException结尾处退出应用程序。Process.killProcess(Process.myPid()); System.exit(1);
标签: android exception-handling crashlytics twitter-fabric crashlytics-android