所以这是一个奇怪的问题。在开发我的应用程序时,我一直在使用未捕获的异常处理程序来记录任何会导致我的应用程序失败的异常。有时我会在应用启动期间发生故障。显然我解决了这些问题,但现在我关心我的错误处理。
当我使用UncaughtExceptionHandler时,异常最终会被捕获并记录,但应用程序不会关闭。相反,它在日志中循环,不断尝试再次启动,然后再爆炸相同的异常等等。在设备上,一个永远不会消失的白色屏幕即将出现。
我想捕获并记录异常,但我也希望应用程序在发生这种情况时关闭并崩溃。我做错了什么?
未捕获的异常处理程序:
@Override
public void uncaughtException(Thread thread, Throwable throwable) {
Log.e(TAG, String.format("Uncaught exception in thread %d", thread.getId()), throwable);
Process.killProcess(Process.myPid());
System.exit(10);
}