Обзор темы [Рефакторинг кода]

Замена исключения на проверку условия

(Replace Exception with Test)

Происходит возбуждение исключения на условие, которое вызывающий может и сам проверить.

Заменить исключение на проверку условия.

double getValueForPeriod (int periodNumber) {

try {

return _values[periodNumber];

} catch (ArrayIndexOutOfBoundsException e) {

return 0;

}

}

double getValueForPeriod (int periodNumber) {

if (periodNumber >= _values.length) return 0;

return _values[periodNumber];

}

Не надо чрезмерно увлекаться исключениями. Исключения используются для исключительного поведения – которое может стать причиной неожиданных ошибок. Если же перед каким-то действием надо всегда выполнять какую-то проверку, то этим должны заниматься операторы выбора.