【发布时间】:2014-10-27 21:05:41
【问题描述】:
我正在使用“改造”进行 http 传输。
我制作了一个自定义ErrorHandler,如下面的代码。
public class CustomErrorHandler implements ErrorHandler {
@Override
public Throwable handleError( RetrofitError cause ) {
if ( RetrofitError.Kind.NETWORK == cause.getKind() ) {
Throwable throwable = cause.getCause();
if ( throwable instanceof SocketTimeoutException )
return throwable;
else if ( throwable instanceof ConnectException )
return throwable;
}
return cause;
}
}
当我尝试调试时,throwable 是CustomErrorHandler.handleError() 中SocketTimeoutException 或ConnectException 的实例。
但是,下面的函数抛出UndeclaredThrowableException。
private SignOutSuccessResponse trySignOut( String email, String userToken ) throws Exception {
RestAdapter.Builder builder = new RestAdapter.Builder();
builder.setEndpoint( ServerInfo.END_POINT_API );
builder.setErrorHandler( new CustomErrorHandler() );
if ( BuildConfig.DEBUG )
builder.setLogLevel( RestAdapter.LogLevel.FULL );
API sessionAPI = builder.build().create( API.class );
return sessionAPI.signOut( email, userToken );
}
如果不是this way,我该如何解决这个问题?
我正在使用
- Android 工作室
- 改造 1.7.1
- OkHttp 2.0.0
请帮帮我ㅠㅠ
【问题讨论】: