Findbugs能检测到在java中捕获RuntimeException吗?
你可以让我知道FindHug可以检测捕获java中的RuntimeException吗?Findbugs能检测到在java中捕获RuntimeException吗?
有效的java建议我们不要捕获RuntimeException。
所以我想知道,Findbugs可以抓住错误的捕捉。
此外,我已经检查过Klocwork JD.CATCH和checkstyle IllegalCatch适合于此目的。
整理。 在FindBugs的有处理异常几个bug检测:
也findbugs-contrib(FindBugs的插件)有一些:
- BED_BOGUS_EXCEPTION_DECLARATION
- DRE_DECLARED_RUNTIME_EXCEPTION
- EXS_EXCEPTION_SOFTENING_NO_CHECKED
- EXS_EXCEPTION_SOFTENING_HAS_CHECKED
- EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS
尝试一下,检查它们是否符合您的要求(特别是fb的最后一个(REC))。不过,如果你明明白白需要检测以下模式:
catch (RuntimeException re){
....
}
您可能需要实现自己的(很容易)错误的FindBugs的模式...
感谢您的回答。我正在审查Findbugs错误模式。你能让我知道'DE'或'Nm'这些关键词是什么意思吗? – 500004dolkong
这些只是缩写 - 就像REC可能意味着'运行时异常捕获(ing)'或EXS意味着EXception软化'。但对于你来说,最终用户对它没有特别的意义...... – Lonzak
追赶“的RuntimeException”最好的工具是一个在你的脖子上... –
但是,为什么不自动化它,如果你可以......有时候你会继承一个大型的代码库,里面充满了微不足道的错误,那么静态分析就能抓住它。 – HairyFotr