Рассмотрим следующий код:
public Object getClone(Cloneable a) throws TotallyFooException {
if (a == null) {
throw new TotallyFooException();
}
else {
try {
return a.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
//cant be reached, in for syntax
return null;
}
return null;
необходимо, поскольку исключение может быть поймано, однако в таком случае, поскольку мы уже проверили, было ли оно нулевым (и предположим, что мы знаем, что класс, который мы вызываем, поддерживает клонирование), поэтому мы знаем, что инструкция try никогда не сработает.
Неправильно ли в конце добавить оператор возврата, чтобы удовлетворить синтаксис и избежать ошибок компиляции (с комментарием, объясняющим, что это не будет достигнуто), или есть лучший способ закодировать что-то вроде этого что лишний оператор возврата не нужен?