在我的 onCreate() 中,我设置了一个 UncaughtException 处理程序,如下所示:
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable throwable) {
Log.e(getMethodName(2), "uncaughtException", throwable);
android.os.Process.killProcess(android.os.Process.myPid());
}
});
它工作正常,但我想恢复系统向用户显示强制关闭对话框的默认行为。
如果我尝试KillProcess()
用 a 替换调用,throw throwable
编译器会抱怨我需要用 try/catch 包围它。
如果我用 try/catch 包围它:
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable throwable) {
try {
Log.e(getMethodName(2), "uncaughtException", throwable);
throw throwable;
}
catch (Exception e) {
}
finally {
}
}
});
编译器仍然抱怨throw throwable
需要用 try/catch 包围。
我如何重新投掷该可投掷物?这样,除了该信息之外,Log.e()
系统的行为与以前完全相同:因为我从未设置默认的 UncaughtException 处理程序。