diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhEngine.java b/app/src/main/java/com/hippo/ehviewer/client/EhEngine.java index 0225eb6ec..87db1b1ec 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/EhEngine.java +++ b/app/src/main/java/com/hippo/ehviewer/client/EhEngine.java @@ -92,7 +92,7 @@ public class EhEngine { sEhFilter = EhFilter.getInstance(); } - private static void throwException(Call call, int code, @Nullable Headers headers, + private static void doThrowException(Call call, int code, @Nullable Headers headers, @Nullable String body, Exception e) throws Exception { if (call.isCanceled()) { throw new CancelledException(); @@ -119,6 +119,18 @@ public class EhEngine { if (code >= 400) { throw new StatusCodeException(code); } + + throw e; + } + + private static void throwException(Call call, int code, @Nullable Headers headers, + @Nullable String body, Exception e) throws Exception { + try { + doThrowException(call, code, headers, body, e); + } catch (Throwable error) { + error.printStackTrace(); + throw error; + } } public static String signIn(@Nullable EhClient.Task task, OkHttpClient okHttpClient,