我们可以创建一个通用屏幕来处理Android中的所有类型的异常吗?

时间:2015-06-01 10:12:18

标签: java android exception-handling

我正在考虑创建一种机制来处理所有类型的异常,并向应用程序的用户显示一个公共屏幕而不是错误。在Web开发中可以进行这种类型的处理,但是在Android应用程序开发中是否可以实现?

如果我们不需要在每个Activity或屏幕上编写代码来处理所有类型的异常,我会很高兴。

请建议。

2 个答案:

答案 0 :(得分:0)

catch 中将捕获的异常重定向到所需的活动位置 描述了所有异常。匹配捕获的异常&完成..

答案 1 :(得分:0)

您可以执行以下操作:

创建一个实现UncaughtExceptionHandler

的类
public class ExceptionHandler implements UncaughtExceptionHandler {

    public ExceptionHandler() {
    }

    @Override
    public void uncaughtException(Thread t, final Throwable e) {
        //[...]
        //Handle your Exception here
    }
}

然后你需要使用:

注册'ExceptionHandler'
ExceptionHandler exceptionHandler = new ExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(exceptionHandler);

所有未被try-catch明确捕获且出现在已注册ExceptionHandler的Thread中的异常将自动重定向到UncaughtExceptionHandler。