我正在为 Android 操作系统开发应用程序。 由于这是我的第一个应用程序,我认为我犯了一些编程错误,因为我几乎无法将错误追溯到它们的原因。 因此,我在猜测,当我试图修复错误时,有没有办法在我的整个 Activity 生命周期中通过一次 try-catch 来捕获所有类型的异常?
那太棒了,看着我的 Galaxy S 说:“抱歉,应用程序意外停止了” :(
最佳答案
我真的,真的不推荐这个......
try {
...
} catch (Exception e) {
// This will catch any exception, because they are all descended from Exception
}
您是否正在查看堆栈跟踪以调试您的问题?追踪它们应该不难。查看 LogCat 并查看大块红色文本,看看是哪种方法导致了您的崩溃以及您的错误是什么。
如果您以这种方式捕获所有错误,您的程序将无法按预期运行,并且当您的用户报告错误时,您将不会从 Android Market 收到错误报告。
您可以使用 UncaughtExceptionHandler 来防止某些崩溃。我使用一个,但仅用于将堆栈跟踪打印到文件中,以便在远离计算机的手机上调试应用程序时使用。但是我在完成之后将未捕获的异常传递给默认的 Android UncaughtExceptionHandler,因为我希望 Android 能够正确处理它,并让用户有机会向我发送堆栈跟踪。
关于java - 捕获所有类型的异常编程 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5773993/