我知道由于连接错误而导致的异常通常有一个带有“连接已关闭”或类似内容的字符串,但这并不是真正了解是否是连接问题导致 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/