自定义Retrofit ErrorHandler提供UndeclaredThrowableException

时间:2014-07-07 16:30:51

标签: android retrofit

根据这篇文章How should I handle "No internet connection" with Retrofit on Android

我制作了自定义ErrorHandler

private static class CustomErrorHandler implements ErrorHandler {

    @Override
    public Throwable handleError(RetrofitError error) {
        if (error.isNetworkError()) {
            return new MyNetworkError();
        }

        return error.getCause();
    }
}

现在我的应用程序崩溃了,我明白了:

java.lang.reflect.UndeclaredThrowableException

适配器是否需要一些配置?将Retrofit 1.6.0OkHttp 2.0.0

一起使用

感谢。

1 个答案:

答案 0 :(得分:13)

如果要返回已检查的异常,则需要在界面上声明它。

interface MyService {
  Foo doFoo() throws MyNetworkError;
}