JDBC和SQLException

时间:2011-08-20 01:58:05

标签: java jdbc exception-handling

我有一个Java类,有几个像这样的方法

public void someMethod (Collection<object> objects) throws Exception

这个程序有时会像Oracle死锁一样抛出java.sql.SQLException,但是在服务器端我没看到跟踪文件。

将方法签名修改为更具体的内容(如

)是否可取
public void someMethod (Collection<object> objects) throws SQLException

然后在方法中尝试 try catch block 中的预处理语句是否有助于捕获实际异常

1 个答案:

答案 0 :(得分:1)

将方法声明为throws Exception并不是一种好习惯。您应该具体说明您的方法引发的异常,因此throws SQLException更好,更具描述性。

无论您使用throws Exception还是throws SQLException,围绕该方法调用的try / catch块都会有效。如果你需要捕获死锁,那么赶上SQLException并在那里处理它。

如果你不在那里处理它,那么异常会冒出堆栈,直到它被某个地方捕获,或者程序(或线程)退出。