Мне всегда приходилось ошибаться в предотвращении исключений, никогда не предпринимая никаких действий, если я не уверен, что ошибок не будет. Я научился программировать на C, и это был единственный способ действительно сделать что-то.
Работа с С# Я часто вижу более реактивную программирование - пытаюсь что-то сделать и обрабатывать исключения. Для меня это похоже на использование исключений в качестве контрольных операторов. Первые несколько раз, когда я видел это, я отклонил это как плохую практику. Но за последние несколько месяцев я видел это повсюду и просто должен удивляться - это приемлемая/эффективная или просто эпидемия?
Обновление: Для немного разъяснения большая часть обработки исключений, которую я вижу, это такие вещи, как
try
{
//open file
}
catch
{
//message box for file not found
}
или даже хуже
try
{
//open xml
//modify xml (100+ lines of code)
}
catch
{
//message for 'unspecified error'
}
Я понимаю, что времена, когда обработка исключений очень хороша в использовании (например, подключения к базе данных), но я имею в виду использование исключений вместо более "традиционного" управления. Я спросил об этом, потому что я чувствовал, что этот стиль программирования использует исключения как костыль, а не как метод восстановления, и хотел знать, было ли это что-то, чему я должен был научиться ожидать в мире С#.