我知道 RxJava 链式有专门的回调处理异常,但是我是希望它抛出来,这样我后续的一系列的同质代码就不用再一一执行了。
我用的是 Observable ,代码如下:
NginxService service = getRetrofit().create(NginxService.class); service.updateCassification(SPUtils.getUserID(), classification) .blockingSubscribe(result -> { Logger.e(result.toString()); if (result.isSuccessful()) { classificationJobDao.delete(localJobID); } });
上面的代码在外面加 try-catch 是捕获不到的,虽然这里用的是 blockingSubscribe 相当于是同步方式,但是不行,所以我也不知道为什么捕获不到,搜索未果,特来询问
1 Jonney 2023-04-22 07:19:16 +08:00 via iPhone ![]() 将 blockingSubscribe 更改为 blockingGet |
![]() | 2 Edward4074 2023-04-22 12:32:41 +08:00 多年以前用 RxJava1 的时候,是通过自定义一个 Observer 封装 onError 逻辑处理的,后面的版本没用过,应该也可以类似的方式实现 |