在我的团队中,我们使用checkstyle来提高编码标准,但现在我们遇到了一条可以改进的规则。
空块规则向我们发出关于空catch块的警告(没有java代码且没有注释),但是如果块包含注释,则使用标准配置它也会生成警告。
e.g。
这两个不应该发出警告:
try {
// some code
} catch (NumberFormatException ignore) {
// ignore
}
try {
// some code
} catch (NumberFormatException e) {
logger.debug("some debug");
}
这会产生警告:
try {
// some code
} catch (NumberFormatException ignore) {
}
如果catch块中没有注释且没有java代码,我们如何才能改进checkstyle,只给我们一个警告?
我找了一个解决方案,但我的stackoverflow和google没有任何解决方案。
有人可以帮助我吗?
答案 0 :(得分:5)
这个问题是如何定制Checkstyle的一般问题:
用于定制块检查的Checkstyle文档位于:
您需要的具体样式配置是:
<module name="EmptyBlock">
<property name="option" value="text"/>
<property name="tokens" value="LITERAL_CATCH"/>
</module>
答案 1 :(得分:2)
https://github.com/checkstyle/checkstyle/issues/571解决了这个问题,创建了新的Check - EmptyCatchBlock - http://checkstyle.sourceforge.net/config_blocks.html#EmptyCatchBlock
在配置EmptyBlock中,请删除CATCH令牌,因为验证将通过不同的立即检查
完成