在 RxJava 2 中处理已检查的异常

handle checked exception in RxJava 2

我在尝试捕获异常时遇到了一些问题。

我有一些这样的方法(遗留方法):

public String myLegacyMethod throws MyException() {
//do something or throw MyException in case of error
}

我需要发送这部分的单曲,我的解决方案是:

public Single<String> reactiveMethod() {
 try {
  String s = myLegacyMethod();
  return Single.just(s);
 } catch (Exception e) {
  //log exception
  return Single.error(e);
 }
}

有没有办法以反应方式处理异常?或者在非阻塞代码中转换 reactiveMethod?

感谢您的回答。

如果 MyException 扩展 Exception:

,您可以在 2.x 中使用 fromCallable
public Single<String> reactiveMethod() {
  return Single.fromCallable(() -> myLegacyMethod());
}