Чтобы исключить исключения, я обычно использую встроенные классы исключений, например. ArgumentNullException
и NotSupportedException
. Однако иногда мне нужно использовать настраиваемое исключение, и в этом случае я пишу:
class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }
и т.д. Затем я бросаю их в свой код. Но сегодня я столкнулся с классом ApplicationException
- должен ли я использовать это вместо этого? Для чего это?
Кажется неэффективным иметь много одинаковых классов исключений с разными именами (мне обычно не нужны какие-либо индивидуальные функции). Но мне не нравится идея поймать общий ApplicationException
и вынуждена использовать дополнительный код, чтобы определить, что такое ошибка.
Где ApplicationException
вписывается в мой код?