2014-07-07 15 views
6

Dựa trên bài này How should I handle "No internet connection" with Retrofit on AndroidTuỳ chỉnh Retrofit ErrorHandler cho UndeclaredThrowableException

tôi đã thực hiện một phong tục ErrorHandler

private static class CustomErrorHandler implements ErrorHandler { 

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

     return error.getCause(); 
    } 
} 

Và bây giờ bị treo ứng dụng của tôi và tôi có được điều này:

java.lang.reflect.UndeclaredThrowableException 

Có một số cấu hình cần thiết cho bộ chuyển đổi? Sử dụng Retrofit 1.6.0 với OkHttp 2.0.0

Cảm ơn.

Trả lời

12

Nếu bạn trả lại ngoại lệ đã kiểm tra, bạn cần khai báo trên giao diện.

interface MyService { 
    Foo doFoo() throws MyNetworkError; 
}