Skip to content

Commit 0a55007

Browse files
RxJava全局异常加入日志打印
1 parent d18764b commit 0a55007

3 files changed

Lines changed: 13 additions & 11 deletions

File tree

app/src/main/java/com/example/httpsender/MainActivity.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,6 @@ public void sendGet(View view) {
5353
.subscribe(pageList -> {
5454
mBinding.tvResult.setText(new Gson().toJson(pageList));
5555
//成功回调
56-
}, (OnError) error -> {
57-
mBinding.tvResult.setText(error.getErrorMsg());
58-
//失败回调
59-
error.show("发送失败,请稍后再试!");
6056
});
6157
}
6258

rxhttp/src/main/java/rxhttp/HttpSender.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,12 @@ public final class HttpSender {
4040
static {
4141
Consumer<? super Throwable> errorHandler = RxJavaPlugins.getErrorHandler();
4242
if (errorHandler == null) {
43-
RxJavaPlugins.setErrorHandler(throwable -> {
44-
/*
45-
RxJava2的一个重要的设计理念是:不吃掉任何一个异常, 即抛出的异常无人处理,便会导致程序崩溃
46-
这就会导致一个问题,当RxJava2“downStream”取消订阅后,“upStream”仍有可能抛出异常,
47-
这时由于已经取消订阅,“downStream”无法处理异常,此时的异常无人处理,便会导致程序崩溃
48-
*/
49-
});
43+
/*
44+
RxJava2的一个重要的设计理念是:不吃掉任何一个异常, 即抛出的异常无人处理,便会导致程序崩溃
45+
这就会导致一个问题,当RxJava2“downStream”取消订阅后,“upStream”仍有可能抛出异常,
46+
这时由于已经取消订阅,“downStream”无法处理异常,此时的异常无人处理,便会导致程序崩溃
47+
*/
48+
RxJavaPlugins.setErrorHandler(LogUtil::log);
5049
}
5150
}
5251

rxhttp/src/main/java/rxhttp/wrapper/utils/LogUtil.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,20 @@
1919
public class LogUtil {
2020

2121
private static final String TAG = "RxHttp";
22+
private static final String TAG_RXJAVA = "RxJava";
2223

2324
private static boolean isDebug = false;
2425

2526
public static void setDebug(boolean debug) {
2627
isDebug = debug;
2728
}
2829

30+
//打印Http请求连接失败异常日志
31+
public static void log(Throwable throwable) {
32+
if (!isDebug) return;
33+
Log.e(TAG_RXJAVA, throwable.toString());
34+
}
35+
2936
//打印Http请求连接失败异常日志
3037
public static void log(@NonNull String url, Throwable throwable) {
3138
if (!isDebug) return;

0 commit comments

Comments
 (0)