使我的应用程序更加优雅地崩溃

时间:2010-12-03 05:27:01

标签: android

我有一个运行非常稳定的应用程序(实际上没有崩溃),但是每个人都知道你的程序一旦被别人抓到就会崩溃:D

我想要的是找到一个(所有)可以放置try {} catch(){}的地方,以便能够捕获并控制应用程序意外崩溃时发生的事情(显示更好的消息) ,发送日志,可能恢复...)

我知道它肯定不是那么简单,但如果有办法捕捉大部分内容,那将会很好。

(例如,GLSurfaceView中有一个小错误,当它被关闭时,有时会因为EGL交换缓冲区而崩溃)

任何想法?

2 个答案:

答案 0 :(得分:2)

您应该看一下这篇文章:http://stuffthathappens.com/blog/2007/10/07/programmers-notebook-uncaught-exception-handlers/

但是在使用它时要小心,你可能会掩盖你的应用程序中的错误,如果你只是假装你的应用程序正在运行,那你就错了:)

答案 1 :(得分:1)

这是一种真正懒惰的方式来捕获任何给定的异常:

try {
  //do some stuff here
} catch (Throwable e) {
  //handle exception here
}

如果你不知道会抛出什么,这很有用。因此,它对任何类型的恢复都不会有帮助。这是我在开发测试期之后不会使用的东西。