Предположим, у меня есть три функции doA (), doB () и doC () в программе на C #, где я знаю, что doA () будет вызывать doB (), которая, в свою очередь, вызывает doC ().
Поскольку doC () должен взаимодействовать с базой данных, я знаю, что он вполне может генерировать исключения, которые он не сможет разрешить, которые должны быть доведены до сведения пользователя. На данный момент у меня есть код, который может генерировать ошибку в попытке try / catch в doC (), а затем вызов doC () в doB () в другой try / catch и аналогичным образом вызов doB () в doA () в блоке try / catch. Это позволяет мне просто использовать бросок; выкинуть исключение до doA (), где можно что-то разумно сделать, чтобы отобразить это пользователю.
Хотя это немного похоже на излишество. Мне интересно, если я не планирую иметь дело с исключением в doB () или doC (), могу ли я просто избавиться от блоков try / catch там.
Предполагая, что блоки окончательно не задействованы, какова наилучшая практика для решения подобных ситуаций?