我有一个运行非常稳定的应用程序(实际上没有崩溃),但是每个人都知道你的程序一旦被别人抓到就会崩溃:D
我想要的是找到一个(所有)可以放置try {} catch(){}的地方,以便能够捕获并控制应用程序意外崩溃时发生的事情(显示更好的消息) ,发送日志,可能恢复...)
我知道它肯定不是那么简单,但如果有办法捕捉大部分内容,那将会很好。
(例如,GLSurfaceView中有一个小错误,当它被关闭时,有时会因为EGL交换缓冲区而崩溃)
任何想法?
答案 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
}
如果你不知道会抛出什么,这很有用。因此,它对任何类型的恢复都不会有帮助。这是我在开发测试期之后不会使用的东西。