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

Arc*_*dis 16 java android exception-handling exception

我正在开发Android OS应用程序.由于这是我的第一个应用程序,我认为我犯了一些编程错误,因为我几乎无法追踪错误的原因.因此,我猜测,而我试图修正错误,是有办法捕捉所有类型的异常在我的整个生命周期中的活动与一个try-catch代码?

那将是非常棒的,我很无聊看着我的银河系S说:"抱歉,应用程序App已经意外停止了":(

Ten*_*r04 20

我真的,真的不推荐这个......

try {
     ...
} catch (Exception e) {
     // This will catch any exception, because they are all descended from Exception
}
Run Code Online (Sandbox Code Playgroud)

您是否正在查看堆栈跟踪以调试问题?跟踪它们应该不难.查看LogCat并查看大块红色文本以查看导致崩溃的方法以及您的错误.

如果您以这种方式捕获所有错误,您的程序将无法按预期运行,并且当您的用户报告时,您将无法从Android电子市场获得错误报告.

您可以使用UncaughtExceptionHandler来防止一些崩溃.我使用一个,但仅用于将堆栈跟踪打印到文件,因为我正在远离计算机的手机上调试应用程序.但是在我完成之后,我将未捕获的异常传递给默认的Android UncaughtExceptionHandler,因为我希望Android能够正确处理它,并让用户有机会向我发送堆栈跟踪.


MJB*_*MJB 7

我假设像纯java一样

try {

} catch(throwable t) {

}
Run Code Online (Sandbox Code Playgroud)

但这是非常糟糕的做法.

另外看看

设置UncaughtException处理程序