异常处理

遇到软件没有捕获的异常之后,系统会弹出这个默认的强制关闭对话框。

我们当然不希望用户看到这种现象,简直是对用户心灵上的打击,而且对我们的 BUG 的修复也是毫无帮助的。我们需要的是软件有一个全局的异常捕获器,当出现一个我们没有发现的异常时,捕获这个异常,并且将异常信息记录下来,上传到服务器公开发这分析出现异常的具体原因。

接下来我们就来实现这一机制,不过首先我们还是来了解以下两个类:android.app.Application 和java.lang.Thread.UncaughtExceptionHandler。

    1、Application:用来管理应用程序的全局状态。在应用程序启动时 Application 会首先创建,然后才会根据情况(Intent)来启动相应的Activity 和 Service。本示例中将在自定义加强版的 Application 中注册未捕获异常处理器。

    2、Thread.UncaughtExceptionHandler:线程未捕获异常处理器,用来处理未捕获异常。如果程序出现了未捕获异常,默认会弹出系统中强制关闭对话框。我们需要实现此接口,并注册为程序中默认未捕获异常处理。这样当未捕获异常发生时,就可以做一些个性化的异常处理操作。

 
大家在刚才的项目结构图中看到的 CrashHandler.java 实现了 Thread.UncaughtExceptionHandler,使我们用来处理未捕获异常的主要成员,代码如下:
http://www.cnblogs.com/lee0oo0/archive/2012/11/28/2793052.html 查看详细的学信息
原文地址:https://www.cnblogs.com/jeno-song/p/5058403.html