我用的是 oracle 的 jdbc driver ,这是我的代码
[code="java"]
static void attemptClose(Statement o) {
try {
if (o != null&&!o.isClosed()) {
o.close();
o = null;
}
} catch (SQLException e) {
errorlogger.error(e);
A5logger.error(JDO.getStackTrace(e));
// e.printStackTrace();
}
}
[/code]
在调用到 这一句 o.isClosed()时,报错
Caused by: java.lang.IllegalAccessError: isClosed
请问这是为什么?
这就说明oracle实现的jdbc的包是不能访问这个方法的
public class IllegalAccessErrorextends IncompatibleClassChangeError当应用程序试图访问或修改它不能访问的字段,或调用它不能访问的方法时,抛出该异常。
通常由编译器捕获此错误;如果类定义中存在不兼容的更改,则此错误将只可能发生在运行时。