use of retrofit2.HttpException in project Auto.js by hyb1996.
the class NodeBB method getErrorMessage.
public static String getErrorMessage(Throwable e, Context context, String defaultMsg) {
if (!(e instanceof HttpException)) {
return defaultMsg;
}
HttpException httpException = (HttpException) e;
ResponseBody body = httpException.response().errorBody();
if (body == null)
return defaultMsg;
try {
String errorMessage = getErrorMessage(context, httpException, body.string());
return errorMessage == null ? defaultMsg : errorMessage;
} catch (IOException e1) {
e1.printStackTrace();
return defaultMsg;
}
}
use of retrofit2.HttpException in project 91Pop by DanteAndroid.
the class ApiException method handleException.
public static ApiException handleException(Throwable e) {
// 使用RxCache之后返回的是包裹的CompositeException,一般包含2个异常,rxcache异常和原本的异常
Logger.t(TAG).d("开始解析错误------");
if (e instanceof CompositeException) {
CompositeException compositeException = (CompositeException) e;
for (Throwable throwable : compositeException.getExceptions()) {
if (!(throwable instanceof RxCacheException)) {
e = throwable;
Logger.t(TAG).d("其他异常:" + throwable.getMessage());
} else {
Logger.t(TAG).d("RxCache 异常");
}
}
}
ApiException ex;
if (e instanceof HttpException) {
HttpException httpException = (HttpException) e;
ex = new ApiException(httpException, httpException.code());
ex.message = httpException.getMessage();
return ex;
} else if (e instanceof JsonParseException || e instanceof JSONException || e instanceof JsonSerializer || e instanceof NotSerializableException || e instanceof ParseException) {
ex = new ApiException(e, Error.PARSE_ERROR);
ex.message = "数据解析错误";
return ex;
} else if (e instanceof ClassCastException) {
ex = new ApiException(e, Error.CAST_ERROR);
ex.message = "类型转换错误";
return ex;
} else if (e instanceof ConnectException) {
ex = new ApiException(e, Error.NETWORD_ERROR);
ex.message = "连接失败";
return ex;
} else if (e instanceof javax.net.ssl.SSLHandshakeException) {
ex = new ApiException(e, Error.SSL_ERROR);
ex.message = "证书验证失败";
return ex;
} else if (e instanceof ConnectTimeoutException) {
ex = new ApiException(e, Error.TIMEOUT_ERROR);
ex.message = "网络连接超时";
return ex;
} else if (e instanceof java.net.SocketTimeoutException) {
ex = new ApiException(e, Error.TIMEOUT_ERROR);
ex.message = "网络连接超时";
return ex;
} else if (e instanceof UnknownHostException) {
ex = new ApiException(e, Error.UNKNOWNHOST_ERROR);
ex.message = "无法解析该域名";
return ex;
} else if (e instanceof NullPointerException) {
ex = new ApiException(e, Error.NULLPOINTER_EXCEPTION);
ex.message = "NullPointerException";
return ex;
} else if (e instanceof VideoException) {
ex = new ApiException(e, Error.PARSE_VIDEO_URL_ERROR);
ex.message = e.getMessage();
return ex;
} else if (e instanceof FavoriteException) {
ex = new ApiException(e, Error.FAVORITE_VIDEO_ERROR);
ex.message = e.getMessage();
return ex;
} else if (e instanceof DaoException) {
ex = new ApiException(e, Error.GREEN_DAO_ERROR);
ex.message = "数据库错误";
return ex;
} else if (e instanceof MessageException) {
ex = new ApiException(e, Error.COMMON_MESSAGE_ERROR);
ex.message = e.getMessage();
return ex;
} else {
ex = new ApiException(e, Error.UNKNOWN);
ex.message = "未知错误:" + e.getMessage();
return ex;
}
}
use of retrofit2.HttpException in project dagger-test-example by aschattney.
the class SimpleEspressoTest method errorDialogIsShownWhenRequestFails.
@Test
public void errorDialogIsShownWhenRequestFails() {
final String message = "some exception message";
when(weatherApi.getCurrentWeather(FAKE_LONGITUDE, FAKE_LATITUDE)).thenReturn(Observable.error(new HttpException(Response.error(500, ResponseBody.create(MediaType.parse("text/plain"), message)))));
when(weatherApi.getTomorrowWeather(FAKE_LONGITUDE, FAKE_LATITUDE)).thenReturn(Observable.empty());
rule.launchActivity(null);
this.allowPermissionsIfNeeded();
onView(withText(message)).check(matches(isDisplayed()));
}
use of retrofit2.HttpException in project BBS-Android by bdpqchen.
the class SimpleObserver method onError.
@Override
public void onError(Throwable throwable) {
LogUtil.dd("onError() in SimpleObserver");
String msg = throwable.getMessage();
if (TextUtils.isEmpty(msg)) {
msg = "网络错误";
}
if (throwable instanceof SocketTimeoutException) {
msg = "网络请求超时...请重试";
} else if (throwable instanceof UnknownHostException) {
msg = "找不到服务器了..";
} else if (throwable instanceof ResponseException) {
msg = throwable.getMessage();
LogUtil.dd("response exception is cased");
LogUtil.dd("the msg is", throwable.getMessage());
} else if (throwable instanceof HttpException) {
HttpException exception = (HttpException) throwable;
try {
String errorBody = exception.response().errorBody().string();
JSONObject errorJsonObject = new JSONObject(errorBody);
// int errCode = errorJsonObject.getInt("err");
msg = errorJsonObject.getString("data");
} catch (IOException | JSONException e) {
e.printStackTrace();
}
}
_onError(msg);
}
use of retrofit2.HttpException in project BaseProject by fly803.
the class DeprecatedExceptionHandle method handleException.
public static ResponeThrowable handleException(Throwable e) {
ResponeThrowable ex;
if (e instanceof HttpException) {
HttpException httpException = (HttpException) e;
ex = new ResponeThrowable(e, ERROR.HTTP_ERROR);
switch(httpException.code()) {
case UNAUTHORIZED:
case FORBIDDEN:
ex.message = "Forbidden";
break;
case NOT_FOUND:
case REQUEST_TIMEOUT:
case GATEWAY_TIMEOUT:
case INTERNAL_SERVER_ERROR:
case BAD_GATEWAY:
case SERVICE_UNAVAILABLE:
default:
ex.message = "网络错误";
break;
}
return ex;
} else if (e instanceof ServerException) {
ServerException resultException = (ServerException) e;
ex = new ResponeThrowable(resultException, resultException.getCode());
ex.message = resultException.getMessage();
return ex;
} else if (e instanceof JsonParseException || e instanceof JSONException || e instanceof ParseException) {
ex = new ResponeThrowable(e, ERROR.PARSE_ERROR);
ex.message = "解析错误";
return ex;
} else if (e instanceof ConnectException) {
ex = new ResponeThrowable(e, ERROR.NETWORD_ERROR);
ex.message = "连接失败";
return ex;
} else if (e instanceof javax.net.ssl.SSLHandshakeException) {
ex = new ResponeThrowable(e, ERROR.SSL_ERROR);
ex.message = "证书验证失败";
return ex;
} else if (e instanceof ApiException) {
ex = new ResponeThrowable(e, ((ApiException) e).getCode());
ex.message = e.getMessage();
return ex;
} else {
ex = new ResponeThrowable(e, ERROR.UNKNOWN);
ex.message = "未知错误ExceptionHandle";
return ex;
}
}
Aggregations