Замяна на изключение с проверка на състоянието
Хвърляте изключение, при което обикновена условна проверка би могла да е достатъчна.
Заменете изключението при хвърляне, като проверите това условие.
Причини за рефакторинг
Изключенията трябва да се използват за обработка на неочаквано поведение на грешка. Те не трябва да се използват като заместител на проверките на състоянието. Ако изключението може да бъде избегнато чрез просто проверяване на някакво условие преди изпълнение на действието, тогава трябва да го направите. Изключенията трябва да бъдат запазени за реални грешки.
Например, вие влязохте в минно поле и там беше взривен, причинявайки изключение; изключението беше успешно обработено и бяхте изнесени от минното поле. Вместо това човек може просто да прочете знака пред минното поле и да го заобиколи по друг начин.