如何在Java代码中找到空的catch块

时间:2009-11-24 11:41:46

标签: java

有没有办法在Java代码中找到所有空的catch块? 我知道有一些像PMD这样的工具可以做到这一点,但我使用的是RSA。我们有什么方法可以编写正则表达式来搜索空的catch块吗?

我正在使用公司机器,我无法安装新软件。

4 个答案:

答案 0 :(得分:9)

您可以使用此正则表达式:

catch\s*\([^\)]*\)\s*\{((/\*(.|[\r\n])*?\*/)|\s)*\}

这个Stephen Ostermiller's website中的子表达式匹配任何Java注释:

/\*(.|[\r\n])*?\*/

答案 1 :(得分:6)

Eclipse Java编译器可以配置为为空语句生成警告(或错误消息):

Java>编译器>错误/警告>空陈述

如果你不使用eclipse,你可以使用batch compiler (Running the batch compiler)

但是你也可以使用其他Java工具。 使用Java库不是软件安装。只要JRE没有被安全管理器配置锁定,这应该始终有效。

答案 2 :(得分:2)

这样的事情:

catch[\s]*\([^\)]*\)[\s]*{[\s]*}

这将返回空的catch语句,但不会返回带注释的语句。

答案 3 :(得分:2)

从命令行使用PMD,从Ant脚本或使用Maven构建项目。这样,您就可以自动构建和测试可交付成果并运行PMD或FindBugs等工具。