自定义Retrofit ErrorHandler提供UndeclaredThrowableException

Nik*_*iko 7 android retrofit

基于这篇文章我应如何处理Android上的Retrofit"无互联网连接"

我做了一个习惯 ErrorHandler

private static class CustomErrorHandler implements ErrorHandler {

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

        return error.getCause();
    }
}
Run Code Online (Sandbox Code Playgroud)

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

java.lang.reflect.UndeclaredThrowableException
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Jak*_*ton 13

如果要返回已检查的异常,则需要在接口上声明它.

interface MyService {
  Foo doFoo() throws MyNetworkError;
}
Run Code Online (Sandbox Code Playgroud)