Java Intellij Structural Search:如何查找空的try-catch块?

Java Intellij Structural Search:如何查找空的try-catch块?,java,intellij-idea,intellij-14,structural-search,Java,Intellij Idea,Intellij 14,Structural Search,如何找到空的try-catch块 正在使用复制现有模板。。。我找到了try catch的结构搜索: try { $TryStatement$; } catch($ExceptionType$ $Exception$) { $CatchStatement$; } 我想增强它,使它只找到带有空catch块的try catch 它应该发现: try { assertTrue(output.validate()); } catch (Exception e) {

如何找到空的try-catch块

正在使用复制现有模板。。。我找到了try catch的结构搜索:

try {
  $TryStatement$;
} catch($ExceptionType$ $Exception$) {
  $CatchStatement$;
}
我想增强它,使它只找到带有空catch块的try catch

它应该发现:

 try {
        assertTrue(output.validate());
    } catch (Exception e) {
        //TODO something
    }

但不是:

 try {
        assertTrue(output.validate());
    } catch (Exception e) {
        e.printStackTrace();
    }
现在很明显,两者都有,因为两者之间没有区别。
如何添加此额外检查?

使用您找到的模板,并在CatchStatement变量上将最小计数和最大计数设置为0。

不使用结构搜索,您还可以执行以下操作:按名称分析/运行检查/Empty'catch'Blockthx,但它不会使用commentar找到空的catch,与第一个示例类似。空的“catch”块检查有一个选项,可以将注释计数为可禁用的内容。
try {
        assertTrue(output.validate());
    } catch (Exception e) {}
 try {
        assertTrue(output.validate());
    } catch (Exception e) {
        e.printStackTrace();
    }