【发布时间】:2008-10-29 19:43:28
【问题描述】:
Connection.close() 可能会抛出SqlException,但我一直认为忽略任何此类异常是安全的(而且我从未见过不忽略它们的代码)。
通常我会写:
try{
connection.close();
}catch(Exception e) {}
或者
try{
connection.close();
}catch(Exception e) {
logger.log(e.getMessage(), e);
}
问题是:
- 这是一种不好的做法(并且是否有人在忽略此类异常时遇到问题)。
- 当
Connection.close()确实抛出任何异常时。 - 如果不好,我应该如何处理异常。
评论:
我知道丢弃异常是邪恶的,但我只提到关闭连接时抛出的异常(正如我所见,这在这种情况下相当普遍)。
有人知道Connection.close() 什么时候可以扔东西吗?
【问题讨论】:
-
我总是忽略它们,看看我现在通常如何处理数据库。
-
空的 catch 块是邪恶的。就像值得开枪一样。我所说的开火,是指在火刑柱上燃烧。即使是简单的日志语句也足够了,伙计们!
-
当凌晨 3 点出现生产问题时,那些有空的 catch 语句“志愿者”会自动排在首位。
标签: java jdbc coding-style