Многие разработчики говорят, что выдают исключения только при действительно исключительных обстоятельствах. Один из них может быть, если внешний жесткий диск, на который я хочу записать, не включен (следовательно, не подключенный / зарегистрированный диск). Однако в некоторых ситуациях сложно разобраться, являются ли они действительно исключительными или нет.
Например, введите строку для пути к папке, но она не найдена. В этом случае, если есть какие-либо входные данные, которые не могут быть найдены (например, имя в коллекции, которая не найдена), лучше всего просто вернуть сообщение об ошибке и какое-то действие?
Е.Г.
public void Find(string name)
{
if(Names.contains(name)
{
string s = Names.get(name);
}
if(!Names.contains(string name)
{
throw new ???Exception;
}
}
Или сделать что-то вроде отображения всплывающего окна и изящно обработать ситуацию?
Разумно ли бросать исключение в оператор else или if? Просмотр списка запахов кода, связанных с обработкой исключений, принес бы мне большую пользу.