有什么方法可以找出Java代码中的所有空的catch块? 我知道有一些工具像PMD那样做,但我使用的是RSA。有什么方法可以编写正则表达式来搜索空的catch块?如何在Java代码中找到空的catch块
更新: 我正在公司机器上工作,我不能安装新软件。
有什么方法可以找出Java代码中的所有空的catch块? 我知道有一些工具像PMD那样做,但我使用的是RSA。有什么方法可以编写正则表达式来搜索空的catch块?如何在Java代码中找到空的catch块
更新: 我正在公司机器上工作,我不能安装新软件。
的Eclipse的Java编译器可以被配置成产生警告(或错误消息),用于空的语句:
爪哇>编译器>错误/警告>空语句。
如果您不使用eclipse,则可以使用batch compiler (Running the batch compiler)。
但是你也可以使用其他Java工具。 使用Java库不是软件安装。只要JRE未被安全管理器配置锁定,这应该始终有效。
这帮了我,当然不是确切的方法。而不是用于“无证空白区块”的“空白陈述”。这实际上找到了所有空的catch块。 – micheal 2009-11-25 09:49:22
谢谢,太好了! :)也发现所有可能需要一些注释的空构造函数等。 – 2011-06-27 09:39:07
事情是这样的:
catch[\s]*\([^\)]*\)[\s]*{[\s]*}
这将返回空catch
陈述,而不是那些与评论。
不要忘记编译'Pattern.MULTI_LINE'。你忘了在代码块中排除注释。 – 2009-11-24 11:51:03
从命令行使用PMD,从Ant脚本或使用Maven构建项目。这样,您可以自动构建并测试您的交付物并运行诸如PMD或FindBugs之类的工具。
您可以使用正则表达式:
catch\s*\([^\)]*\)\s*\{((/\*(.|[\r\n])*?\*/)|\s)*\}
如果这个子表达式,在Stephen Ostermiller's website发现,任何Java注释匹配:
/\*(.|[\r\n])*?\*/
谢谢保罗!为我节省了一些工作。 – 2015-11-25 09:40:49
为什么会使用RSA禁止你使用PMD,CheckStyle的等等?那里还有其他要求吗? – 2009-11-24 11:50:50