Должен ли я ловить исключения, выдаваемые при закрытии java.sql.Connection - PullRequest
14 голосов
/ 29 октября 2008

Connection.close() может выдать SqlException, но я всегда предполагал, что можно игнорировать любые такие исключения (и я никогда не видел код, который не игнорирует их).

Обычно я бы написал:

 try{
    connection.close();
 }catch(Exception e) {}

или

 try{
    connection.close();
 }catch(Exception e) {
     logger.log(e.getMessage(), e); 
 }

Вопрос:

  1. Это плохая практика (и у кого-нибудь были проблемы при игнорировании таких исключений).
  2. Когда Connection.close() выдает любое исключение.
  3. Если это плохо, как я должен обработать исключение.

Комментарий:

Я знаю, что отбрасывать исключения - это зло, но я ссылаюсь только на исключения, возникающие при закрытии соединения (и, как я видел, это довольно распространено в данном случае)

Кто-нибудь знает, когда Connection.close() может что-нибудь бросить?

Ответы [ 12 ]

0 голосов
/ 30 октября 2008

Если это «ошибка, которая никогда не случается», тогда я просто скину исключение и надеюсь, что никто его не поймает.
если это какой-то другой случай, я, вероятно, войду в него

0 голосов
/ 29 октября 2008

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

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

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