java - 是否有可靠(正确?)的方法让代码知道 SQLException 是否是由于连接错误引起的?

标签 java sql jdbc

我知道由于连接错误而导致的异常通常有一个带有“连接已关闭”或类似内容的字符串,但这并不是真正了解是否是连接问题导致 sql 错误而不是数据的好方法诚信问题。

例如,如果代码正在执行多个语句并且语句 1 和 2 之间的连接中断怎么办?我怎么知道这是连接问题而不是语句问题?

示例:

try
{
    conn.createStatement().execute( sql );

    //Imagine it dies here

    conn.createStatement().execute( sql2 );
}
catch (SQLException e)
{
    //Something like one of these
    if ( e.getErrorCode() === SQLException.CONNECTION_ERROR ) {}
    if ( e instance of SQLCOonnectionException ) {}
}

最佳答案

我认为您正在寻找此处解释的内容 https://docs.oracle.com/javase/tutorial/jdbc/basics/sqlexception.html

Oracle 还提供了一个示例,说明如何从 SQLException 中检索大量信息,例如错误代码、SQLstate 等。

关于java - 是否有可靠(正确?)的方法让代码知道 SQLException 是否是由于连接错误引起的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36727169/

相关文章:

java - 为什么在尝试对 ResultSet 中检索到的列的值求和时出现错误?

java - 在 web.xml 中不使用 resource-ref 连接到数据源

java - NoClassDefFoundError JIRA REST API

java - Linux 上共享库初始化失败

java - 如何测试一个集合是否包含该集合中其他两个数字的和

mysql - 关于 SQL 查询的问题

php - 从 2 个表中获取内容?

mysql - 在Mysql中我怎样才能找到点表的范围?

java - Web 应用程序 DAL 中的 JDBC 数据库连接

java - 给定两个 vector 在opengl中绘制3d平面