Когда использовать пользовательский класс, который расширяет RuntimeException? - PullRequest
0 голосов
/ 18 ноября 2011

Я создал один определенный пользователем класс (скажем, ClassA), который расширяет Exception, и другой класс (ClassB), который расширяет RuntimeException. Подскажите пожалуйста где мне их использовать в моем приложении?

Должен ли я использовать ClassB (что расширяет RuntimeException) в операторе if, например, если остаток на счете низкий?

Ответы [ 3 ]

1 голос
/ 18 ноября 2011

Эмпирическое правило, которое предлагает Джошуа Блох:

  • использовать отмеченные исключения (расширять исключение), когда вы ожидаете, что приложение сможет восстановиться из исключительного состояния, в которое оно вошло
  • использовать непроверенное исключение (расширение RuntimeException) для сценариев, в которых вы не ожидаете возможного восстановления
1 голос
/ 18 ноября 2011

Примером исключения Runtime может быть то, что выбрасывается средой Runtime, например, арифметика или индекс за пределами (наиболее распространенные).В основном они носят технический характер.

Бизнес-логикой можно управлять, расширяя класс Exception.

0 голосов
/ 18 ноября 2011

Стандартные исключения - это проверенные исключения. Так что вам нужен блок try / catch. Исключения времени выполнения - это непроверенные исключения, которые не нуждаются в блоке try / catch. Они не должны происходить.

Для вашей бизнес-логики, такой как низкий остаток на счете, вам, вероятно, следует использовать проверенные исключения, чтобы вам приходилось их обрабатывать.

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