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