处理错误

当 Vertica JDBC 驱动程序遇到错误时,它会引发 SQLException 或其子类之一。所引发的特定子类取决于已发生的错误的类型。大部分 JDBC 方法调用会导致发生多种不同类型的错误,JDBC 驱动程序将引发特定的 SQLException 子类以响应这些错误。客户端应用程序可以根据 JDBC 驱动程序已引发的特定异常选择如何对错误做出响应。

SQLException 子类的层次结构已进行了排列,可帮助客户端应用程序确定采取哪些措施以对错误条件做出响应。例如:

  • 当错误原因可能是临时条件(例如,超时错误 (SQLTimeoutException) 或连接问题 (SQLTransientConnectionIssue))时,JDBC 驱动程序将引发 SQLTransientException 子类。客户端应用程序可以选择重试操作而不进行任何尝试以纠正错误,因为该错误可能不会再次发生。

  • 当客户端需要采取某种措施以便能够重试操作时,JDBC 驱动程序将引发 SQLNonTransientException 子类。例如,执行包含 SQL 语法错误的语句会导致 JDBC 驱动程序引发 SQLSyntaxErrorExceptionSQLNonTransientException 的子类)。通常,客户端应用程序只需要将这些错误报告回给用户并让用户解决错误。例如,如果用户向应用程序提供的 SQL 语句触发了 SQLSyntaxErrorException,则应用程序会提示用户修复 SQL 错误。

有关由 JDBC 驱动程序引发的 Java 异常的列表,请参阅 SQLState 和 Java 异常类的映射