是否有可能在IntelliJ中找到(可能)多余的try ... catch块?

问题描述 投票:1回答:1

这是我的用例 - 我有这种风格的代码

try {
    someMethod();
} catch (Exception e) {
    LOGGER.error("exception occurred", e);
   //potentially more code
}

而且该方法的定义很简单

public void someMethod() {
   //do something that doesn't throw an exception
}

我想找到所有try...catch块,它们捕获顶级Exception类并包装没有明确抛出任何异常的代码。 IntelliJ IDEA有可能吗?

为了澄清,我知道冗余'抛出'条款检查 - 这是在它之后清理。

我也知道Catch块可能会忽略异常检查 - 这不能理解我所描述的情况,因为代码中使用了异常。问题是代码实际上没有抛出异常。因此,理论上它可能会捕获NullPointerException或另一个未经检查的异常,但我会进一步分析这是否确实有用。我的目标是删除所有不需要的异常处理代码。

java exception intellij-idea
1个回答
3
投票

您可以通过Inspections菜单访问此警告,然后搜索Overly broad catch block

enter image description here

启用此检查后,所有捕获块都标记为过宽。您还可以将检查限制为仅警告RuntimeExceptionExceptionThrowable

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.