有没有办法让eclipse报告一般的“catch(exceptione)”作为错误/警告(在java中)?
我试图鼓励在Java代码中不捕获一般exception的最佳实践。 例如:
try { ... } catch (Exception e) { // bad! ... }
有没有办法在Eclipse中将此标记为错误/警告?
我知道PMD会选择这个,但我宁愿避免将它集成到每个人的构建环境中。
你可以使用Checkstyle eclipse插件来做同样的事情。 查看文档中的 “IllegalCatch”部分
FindBugs
可以报告这个:
REC
:未抛出Exception
捕获Exception
(REC_CATCH_EXCEPTION
)此方法使用捕获
Exception
对象的try-catch
块,但不会在try
块中抛出exception,并且不会显式捕获RuntimeException
。 将try { ... } catch (Exception e) { something }
作为捕获许多类型的exception的简写是一种常见的bug模式,每个exception的catch块都是相同的,但是这个构造也意外地捕获了RuntimeException
,掩盖潜在的错误。
在每个构建上运行FindBugs,CheckStyle或PMD会减慢每个人的构建速度,我想这就是为什么你在看Eclipse的方法。 不幸的是,这也可能是有问题的,这取决于插件的可用性(和稳健性)。 此外,您仍将在增量和(特别是)完整项目构建中获得性能提升。
另一种方法是设置Hudson持续集成服务器并将其配置为运行样式检查器,覆盖工具等,使用Sonar插件跟踪结果。
据我所知,它不在Window – > Preferences – > Java – > Compiler – > Errors / Warnings的列表中,因此不可能 – 除非您想要编写自己的ecliple插件。