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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有可能在IntelliJ中找到(可能)多余的try ... catch块?相关的知识,希望对你有一定的参考价值。

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

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或另一个未经检查的异常,但我会进一步分析这是否确实有用。我的目标是删除所有不需要的异常处理代码。

答案

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

enter image description here

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

enter image description here

以上是关于是否有可能在IntelliJ中找到(可能)多余的try ... catch块?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Intellij中获取文件?

IntelliJ显示历史记录停止工作

是否可以在 Intellij IDEA 中将选择拆分为多个光标?

是否有可能在比(n 选择 3)更好的时间内找到可以从长度列表中形成的三角形数量?

在 Eclipse 中可能发生在 IntelliJ 中不可能的事情? [关闭]

IntelliJ IDEA 中的 java Maven 项目,如何找到不需要的依赖项?