android - 自定义改造 ErrorHandler 给出 UndeclaredThrowableException

标签 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

谢谢。

最佳答案

如果要返回检查异常,则需要在接口(interface)上声明它。

interface MyService {
  Foo doFoo() throws MyNetworkError;
}

关于android - 自定义改造 ErrorHandler 给出 UndeclaredThrowableException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24615437/

相关文章:

android - 使用 RxJava 和 Retrofit 链接两个 Web 服务调用

android - 将 Jsoup 请求转换为 retrofit2

android - 如何检查Android改造的响应代码?

android - 如何创建响应式 ImageView?

android - 使用 Jsoup 从 php 中提取文本结果是一个空的 textView

java - Mosby 框架 - getView 导致 ClassCastException

android - Dagger 2注入(inject)相同对象类型的多个实例

android - 如何像在 css 中一样在悬停时更改 TextView 中文本的颜色?

java - 如何在美式英语和英式英语之间切换 TextToSpeech 的语言?

java - SimpleXML with Retrofit 1.9, 'Attribute ' 版本'在类中没有匹配项'