捕获所有模块异常以免主应用程序崩溃

时间:2015-08-05 10:13:06

标签: android android-library

我正在使用Android上的库模块(使用gradle和proguard),它将集成到其他应用程序中。

库是否有捕获所有异常抛出的解决方案,因此如果库在其他线程中有一些NPE或异常(如OMX异常),主应用程序将不会崩溃。

2 个答案:

答案 0 :(得分:0)

您可以在自由项目中查找任何未捕获的异常

private Thread.UncaughtExceptionHandler _unCaughtExceptionHandler = new Thread.UncaughtExceptionHandler() {
    @Override
    public void uncaughtException(Thread thread, Throwable ex) {

       //Put a check if it is thrown by your liberary then deal with it.

    }
};

 Thread.setDefaultUncaughtExceptionHandler(_unCaughtExceptionHandler);

答案 1 :(得分:0)

您可以使用setDefaultUncaughtExceptionHandler(),但如果您有未捕获的异常,那么您的应用流程已经中断,恢复通常非常困难/不可能。捕获所有未捕获的异常的唯一有用的例子可能是将其报告给开发人员,以便您可以修复错误并修复。但如果这是你的目标,那么我宁愿使用像Crittercism这样的现有解决方案。