gpt4 book ai didi

java - 有没有办法抑制 "catch branch identical"警告?无法在此实例中使用多捕获

转载 作者:太空狗 更新时间:2023-10-29 15:40:34 27 4
gpt4 key购买 nike

正在使用 API 17 开发 Android 应用程序,目前需要进行一些反射才能完成任务。 ReflectiveOperationException 仅适用于 API 19 及更高版本,但这很好,因为我可以简单地单独捕获每个异常。

问题是当我这样做时,我收到一条警告,指出 catch 分支是相同的并且可以使用 multi-catch 编写(或使用我想避免的 Exception)。但是,当我将 catch 编写为 multi-catch 时,我收到错误消息,指出由于不是 API 19,我无法使用 ReflectiveOperationException 类。

简单地说,我只想抑制警告,但除了做 @SuppressWarning("all") 之外找不到任何匹配的内容

对于上下文,这里是警告/错误:

// Error: "Multi-catch with these reflection exceptions requires API level 19 (current min is 15) 
// because they get compiled to the common but new super type ReflectiveOperationException.
// As a workaround either create individual catch statements, or catch Exception."
try {
return someMethodThatThrowsExceptions();
} catch (InstantiationException | IllegalAccessException e) {
throw new RuntimeException(e);
}

// Warning: 'catch' branch identical to 'InstantiationException | IllegalAccessException' branch"
try {
return someMethodThatThrowsExceptions();
} catch (InstantiationException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
} catch (InvocationTargetException e) {
throw new RuntimeException(e);
}

编辑:添加了我正在处理的所有渔获物,原来只有两个

最佳答案

@SuppressWarnings("TryWithIdenticalCatches") 应该可以解决问题。

关于java - 有没有办法抑制 "catch branch identical"警告?无法在此实例中使用多捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39706553/

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