Когда / почему использовать пользовательские исключения - PullRequest
2 голосов
/ 06 сентября 2010

Я прочитал ветку на эту тему на этом форуме, где перечислены некоторые причины использования пользовательских исключений, но ни одна из них не показалась веской (сейчас я не могу вспомнить причины).

Так зачем вам использовать кастомные исключения? В частности, я никогда не понимал процесс принятия решения между использованием стандартного или пользовательского исключения для указания того, что корзина покупок является нулевой (я думаю, что пользовательская корзина используется в качестве пустой коллекции - не исключение, и это вещь бизнес-процесса). Однако требуется больше разъяснений.

Спасибо

1 Ответ

4 голосов
/ 06 сентября 2010

Вот мой дубль:

  • Если какое-либо из стандартных исключений не соответствует исключительной ситуации, создайте пользовательское исключение
  • Если есть дополнительная информация, которую нужно передать в исключение, создайте пользовательское исключение
  • Если есть смысл иметь свой собственный класс исключений, создайте пользовательское исключение (то есть другие разработчики получат выгоду от возможности его перехватить)

Что касается таких вещей, как нулевые аргументы - я бы никогда не использовал пользовательское исключение. NullArgumentException (.NET) / IllegalArgumentException (Java) является полностью удовлетворительным.

Джаред Пар написал в блоге об этом, здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...