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