ServletException или IOException?
... Я никогда не могу выбрать между этими двумя. Я всегда возвращаюсь к коду и переключаюсь между ними.
Когда вы кодируете - скажем, класс Login - из (расширенного) HttpServlet, который поддерживает ServletException и IOException, и вы просто хотите добавить свое исключение (например, NoSuchAlgorithmException, NamingException), чтобы увидеть его на странице вашего приложения позже, через какой вы его выбросите: ServletException или IOException?
PS: я не пытаюсь поймать все возможные NoSuchAlgorithmException, NamingException и т. Д., Потому что я могу пропустить реальную причину, которую я раньше не видел, и неправильно ее обработать или сообщить неправильную информацию пользователю.
2 ответа
IOException
имеет свое значение. IOException
должен быть выдан только тогда, когда возникает проблема в операциях ввода-вывода, например, при чтении / записи данных из файла или URL-адреса. Если мне придется сделать выбор между двумя, я выберу ServletExcetion
,
Но если есть место для определения лучшей обработки исключений, я бы хотел создать свой собственный класс исключений, например MySystemException
простирающийся RuntimeException
и обернуть соответствующие исключения как MySystemException
и брось это.
Ни один из них, просто наследовать от RuntimeException
или другое исключение, которое наследуется от RuntimeException
как IllegalArgumentException
,