有没有办法在Java代码中找到所有空的catch块? 我知道有一些像PMD这样的工具可以做到这一点,但我使用的是RSA。我们有什么方法可以编写正则表达式来搜索空的catch块吗?
我正在使用公司机器,我无法安装新软件。
答案 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等工具。