关于android:Custom Retrofit ErrorHandler给出UndeclaredThrowableException

Custom Retrofit ErrorHandler gives UndeclaredThrowableException

根据这篇文章,我应该如何在 Android 上使用 Retrofit 处理"无互联网连接"

我做了一个自定义ErrorHandler

1
2
3
4
5
6
7
8
9
10
11
private static class CustomErrorHandler implements ErrorHandler {

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

        return error.getCause();
    }
}

现在我的应用程序崩溃了,我得到了这个:

1
java.lang.reflect.UndeclaredThrowableException

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

一起使用

谢谢。


如果你返回一个检查异常,你需要在接口上声明它。

1
2
3
interface MyService {
  Foo doFoo() throws MyNetworkError;
}