【问题标题】:JDBC and SQLExceptionJDBC 和 SQL 异常
【发布时间】:2011-08-20 01:58:05
【问题描述】:

我有一个 Java 类,其中包含多个类似的方法

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

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

是否建议将方法签名修改为更具体的内容,例如

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

然后在方法中尝试try catch块中准备好的语句是否有助于捕获实际异常

【问题讨论】:

    标签: java jdbc exception-handling


    【解决方案1】:

    将方法声明为throws Exception 不是好的做法。您应该具体说明您的方法抛出了哪些异常,因此throws SQLException 更好,更具描述性。

    无论您使用throws Exception 还是throws SQLException,围绕该方法调用的try/catch 块都将起作用。如果您需要捕获死锁,则捕获SQLException 并在那里处理它。

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

    【讨论】:

    • 什么是允许异常冒泡或在抛出异常的方法中处理的最佳实践
    猜你喜欢
    • 2011-01-13
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多