codecamp

OceanBase Connector/J 处理 SQL 异常

OceanBase Connector/J 通过引发 SQL 异常,生成 ​java.sql.SQLException​ 类或其子类的实例,来处理异常情况。

异常可能源自 OceanBase Connector/J,也可能源自数据库本身。结果信息会描述该异常并识别引发该异常的方法,还可以附加其他运行信息。

SQLException​ 类支持的基本异常处理包括检索错误消息、检索错误代码、检索 SQL 状态以及打印堆栈跟踪。

检索错误信息

SQLException​ 类检索基本错误信息的方法如下:

  • getMessage
  • getErrorCode
  • getSQLState

示例:调用 ​getMessage​ 方法进行输出显示。

catch(SQLException ecp)
{
   System.out.println("exception: " + ecp.getMessage());
}

输出源自 OceanBase Connector/J 的错误如下:

exception: Invalid column type

打印堆栈跟踪

SQLException​ 类提供的 ​printStackTrace()​ 方法可以用于打印堆栈跟踪。此方法将可抛出对象的堆栈跟踪信息依照标准错误流进行打印。您还可以指定一个​ java.io.PrintStream​ 对象或​ java.io.PrintWriter ​对象进行输出。

示例:捕获 SQL 异常并打印堆栈跟踪。

// SQL 代码示例:遍历结果并打印员工姓名  
try { 
       while (rs.next ()) 
       System.out.println (rs.getString (5));  // 假设使用了不正确的列索引
}
catch(SQLException ecp) { ecp.printStackTrace (); } 

//捕获 SQL 异常并打印堆栈跟踪
try { <some code> } 
catch(SQLException ecp) { ecp.printStackTrace (); } 

运行程序时产生的报错信息如下:

java.sql.SQLException: Invalid column index
at OceanBase.jdbc.driver.OceanBaseResultSetImpl.getDate(OceanBaseResultSetImpl.java:1556)
at emp.main(emp.java:41)


OceanBase Connector/J 关闭与数据库的连接
OceanBase Java 数据流概述
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }