我知道由于连接错误而导致的异常通常会有一个字符串,其中包含“Connection closed”或类似内容,但这并不是一个很好的方法来了解它是否是导致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 ) {}
}
答案 0 :(得分:1)
我认为您正在寻找在此处解释的内容https://docs.oracle.com/javase/tutorial/jdbc/basics/sqlexception.html
Oracle还提供了一个示例,说明如何从SQLException中检索大量信息,如错误代码,SQLstate等。