在我的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());
}
});
它工作正常,但我想恢复系统向用户显示强制关闭对话框的默认行为 .
如果我尝试用 throw throwable 替换 KillProcess() 调用,编译器会抱怨我需要用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包围 .
我如何重新扔掉那个扔掉的?这样,除了信息量之外,系统的行为与以前完全一样:因为我从未设置过默认的UncaughtException处理程序 .