java - 捕获所有类型的异常编程 Android

标签 java android exception exception-handling

我正在为 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/

相关文章:

java - Android:单击按钮时切换相机

java - 在 Java 中格式化大数字

java - 关于现场可访问性的单元测试实践

android - 如何将数据从当前 Activity 传递到暂停的 Activity?

python - 为什么所有异常都被 ldap.SERVER_DOWN 捕获?

c# - Rowid中的SQLITE问题

java - 如何从Json对象中获取数据?

android - 滚动时如何重置 RecyclerView Viewholder 布局

android - 两个带 Android 的屏幕/显示器?

java - 在 ByteArrayInputStream 的 read 方法中抛出异常