gpt4 book ai didi

java - 来自 Throwable 的 findbugs 未经检查/未经确认的转换

转载 作者:行者123 更新时间:2023-11-30 09:02:35 25 4
gpt4 key购买 nike

我有一些自定义异常应该从抛出的 InvocationTargetException 中检索,我通过以下方式进行:

    try {
...
}
catch (IllegalAccessException | InvocationTargetException
| NoSuchMethodException | NoSuchFieldException e) {
if (e.getCause() instanceof CustomException) {
throw (CustomException) e.getCause();
}

throw new IllegalArgumentException();
}

但是 findbugs 提示我:

来自 Throwable 的未检查/未确认转换

我发现了一个类似的问题 ( how can resolve dodgy:unchecked/unconfirmed cast in sonar? ),但没有帮助。

最佳答案

我认为,如果您首先将原因分配给局部变量,FindBugs 将能够正确解决问题:

try {
/* ... */
} catch (IllegalAccessException | InvocationTargetException
| NoSuchMethodException | NoSuchFieldException e) {

Throwable cause = e.getCause();

if (cause instanceof CustomException) {
throw (CustomException) cause;
}

throw new IllegalArgumentException();
}

关于java - 来自 Throwable 的 findbugs 未经检查/未经确认的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25925978/

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