Java - где и как следует использовать исключения?

Я читал некоторые вещи об обработке исключений в Java, чтобы иметь возможность писать лучший код. ОК, я признаю, я виновен; Я'Я использовал слишком много блоков try-catch {}, ямы использовалиex.printStackTrace() в улове, даже не используя надлежащий регистратор (на самом делеSystem.out а такжеSystem.err были перенаправлены наPrintWriter, так что журнал был создан). Однако после нескольких часов чтения я нахожусь в странном месте: неизвестном. Если исключения предназначены для передачи информации об аномальных состояниях потока, как узнать, ГДЕ это подходящий уровень, чтобы что-то делать с этой информацией?

Например, когда возникает ошибка базы данных, следует ли возвращать нулевое значение или код ошибки или выдавать исключение? Если выброшено, ГДЕ должно обрабатываться это исключение? Я понимаю, что бесполезно даже регистрировать исключение, если вы ничего не можете с этим поделать. Тем не менее, в приложениях с графическим интерфейсом, это может легко убить ваш графический интерфейс (я использую SWT и яЯ видел это слишком часто), даже для случаяmenuShown() метод (ArrayIndexOutOfBounds Исключение закроет приложение, если не обработано). Пример может продолжаться вечно, но здесьs краткое изложение вопросов:

Влияет ли чрезмерное использование try-catch () на производительность?Лучше использовать определенные типы исключений? Что если я пропустил ловушку одного из возможных X типов исключений, которые могут возникнуть?

Честно говоря, яЯ слышал и использую всего 10%, я думаю о стандартных исключениях Java, через 2-3 года. Да, кто-то сказал, что если звонящий неНе зная, как обращаться с исключениями, он не должен иметь права вызывать метод throw. Это верно? Япрочитал эту статьюАндерс ХейлсбергГоворят, что проверенные исключения плохие. Должно ли это указывать на то, что в некоторых случаях рекомендуется удобное проглатывание исключений?Картинка стоит 1000 слов; Я думаю, что некоторые примеры очень помогут здесь.

Я знаю, что тема вечна, но на самом деле я с нетерпением жду возможности рассмотреть проект среднего класса из 150 классов, используя ваши советы. Большое спасибо.

Ответы на вопрос(9)

Ваш ответ на вопрос