gpt4 book ai didi

java - 重新抛出 RuntimeException 的子类

转载 作者:行者123 更新时间:2023-11-29 03:53:17 26 4
gpt4 key购买 nike

我正在创建一个通用类,它接受一个它愿意处理的异常列表作为参数。

public class MyClass {
public MyClass (List<Class<? extends RuntimeException>> exceptions) ...
public execute() {
try {
justObj.call()
} catch(RuntimeException e) {
if exceptions.contains(e.getClass()) {...}
else {throw e;}
}

我希望抛出的异常是我捕获的原始异常,例如如果它是 NullPointerException,那么我希望抛出的是 NullPointerException,而不是现在的 RuntimeException。

知道如何实现吗?

最佳答案

当您捕获 RuntimeException(或任何子类)时,它不会更改对象/异常的类型。如果它是一个 NullPointerException,当你再次抛出它时它仍然是这种类型的对象(就像你在代码中那样)

关于java - 重新抛出 RuntimeException 的子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7742038/

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