Пользовательское исключение должно быть проверенным или рабочим исключением - PullRequest
0 голосов
/ 31 января 2019

Я обычно пишу свое собственное исключение, наследуя класс 'Exception', что делает его проверенным исключением.Тем не менее, я видел, как люди писали пользовательское исключение, которое расширяет класс RuntimeException, делая его непроверенным исключением.

Какой метод является наилучшим и когда его использовать?

Ответы [ 3 ]

0 голосов
/ 31 января 2019

Для этого нет конкретного правила, просто имейте это в виду: если можно разумно ожидать, что клиент восстановится после исключения, сделайте его проверенным исключением.Если клиент не может ничего сделать для восстановления из исключения, сделайте его непроверенным исключением.

0 голосов
/ 31 января 2019

Язык Java дает вам возможность принимать решения.Если нет возможности для программы, которую вы создаете, скомпилировать, вы, как правило, делаете это проверенным исключением (хотя в большинстве случаев Java будет делать это для вас, и мне нужно будет точно знать, что вы пытаетесь сделать, если вы нене хочу программировать, чтобы иметь возможность компилировать, что может быть сложно)В противном случае вы сделали бы это RuntTimeException, и опять же, нам нужно было бы знать, что вы хотите сделать конкретно.По моему личному опыту, если я делаю пользовательское исключение, я просто сделаю его проверенным исключением, потому что пользователи понимают, как работает моя программа, и (или я понимаю, как она работает достаточно хорошо, чтобы знать, когда может возникнуть проблема),По этой причине я ошибаюсь в отношении проверенных исключений, чтобы любой, кто повторно использует мой код, легко понимал, как он работает и где могут возникнуть потенциальные ошибки.

0 голосов
/ 31 января 2019

Нет ничего плохого, как такового, в любом подходе, и это очень сильно зависит от вашего варианта использования.

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

...