有没有办法让eclipse报告一般的“catch(exceptione)”作为错误/警告(在java中)?

我试图鼓励在Java代码中不捕获一般exception的最佳实践。 例如:

try { ... } catch (Exception e) { // bad! ... } 

有没有办法在Eclipse中将此标记为错误/警告?

我知道PMD会选择这个,但我宁愿避免将它集成到每个人的构建环境中。

你可以使用Checkstyle eclipse插件来做同样的事情。 查看文档中的 “IllegalCatch”部分

FindBugs可以报​​告这个:

REC :未抛出Exception捕获ExceptionREC_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插件。