Сортировка. В FindBugs есть несколько детекторов ошибок, касающиеся исключений:
- DE: Метод может упасть исключение
- DE: Метод может игнорировать исключение,
- Nm: Класс не является производным от Exception, даже если она называется как таковой
- RV: Исключение было создано и сброшено, а не брошено
- REC: Исключение было обнаружено, когда Исключение не было собственный
, а также 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
Попробуйте эти параметры и проверьте, соответствуют ли они вашим требованиям (особенно последний (REC) of fb). Однако, если явно необходимо обнаружить следующую закономерность:
catch (RuntimeException re){
....
}
Вам может понадобиться реализовать свой собственный (очень легкий) шаблон ошибка для FindBugs ...
Лучший инструмент для ловли «RuntimeException» является один сверху на шею ... –
Но почему бы не автоматизировать его, если вы можете ... иногда вы наследуете большую кодовую базу, полную тривиальных ошибок, которую может уловить статический анализ. – HairyFotr