gpt4 book ai didi

Java - 如何将 throwable 转换为新的 throwable 并将其抛出?

转载 作者:行者123 更新时间:2023-11-29 06:58:13 26 4
gpt4 key购买 nike

当发生异常并且我得到 Throwable 时,我想将它转换为 MyThrowable 并重新抛出它。

我正在实现实例创建的方法

   obs1 = obs1.map(new Func1<Integer, Integer>() {
public Integer call(Integer integer) {
try {
getObj().equals(""); // an exception occurs
return ++integer;
} catch (Throwable t) {
// t = new MyThroawable("",""); // if this is unmarked - failes to compile
throw t;
}
}
});
  • 我需要处理 Throwable,因为我的响应式(Reactive) fw (rxJava) 在出错时返回一个 throwable

当 remark 从新的 Throwable 创建中移动时我得到的编译错误是

java: unreported exception async.job.MyThroawable; must be caught or declared to be thrown

最佳答案

通常,您应该避免从 FuncX 和 ActionX 实例中抛出异常,并且您不能直接抛出已检查的异常。

但是,如果你想映射一个抛出检查异常的 API,你可以使用 flatMap,你可以返回一个常规值 observable 或一个错误 observable:

source.flatMap(integer -> {
try {
getObj().equals("")
return Observable.just(++integer);
} catch (Throwable t) {
return Observable.error(OnErrorThrowable.addValueAsLastCause(t, integer));
}
})

关于Java - 如何将 throwable 转换为新的 throwable 并将其抛出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30500256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com