UncaughtExceptionHandler获取应用程序的所有异常

时间:2014-09-16 13:51:07

标签: android exception-handling

我想在我的应用中捕获所有意外的异常并记录它们。

因此,我实现了一个UncaughtExceptionHandler(名为CustomExceptionHandler),它将异常记录到内部数据库。

我还在我的MainActivity中添加了异常处理程序:

public class MainActivity extends HomeActivity {
  @Override
  public void onCreate (Bundle savedInstanceState) {
    super.onCreate (savedInstanceState);
    Thread.setDefaultUncaughtExceptionHandler (new CustomExceptionHandler(getLogger ()));
  }
}

但要获得所有异常,我是否必须将异常处理程序添加到我的所有活动和服务中?或者是否为主要活动注册了异常处理程序?

1 个答案:

答案 0 :(得分:0)

UncaughtExceptionHandlers由线程调用,不处理异常。活动和服务与此过程无关。 对于应用程序的所有线程中的未捕获异常,将调用setDefaultUncaughtExceptionHandler设置的处理程序,但使用setUncaughtExceptionHandler设置特定处理程序的线程除外。 要回答你的问题 - 你只需要设置一次默认处理程序。