public void rollback() throws AnshinDBConnectException{
String methodName = "commit()";
String errorMessage = null;
if (con == null) {
// データベースに接続されていません。
return;
}
try {
con.rollback();
} catch (SQLException e) {
errorMessage=e.getMessage();
Object[] obj = {methodName,errorMessage };
logger.error("COMMLE011",obj);
throw new AnshinDBConnectException("COMMSE011");
}
}
代码中我用SQLException来捕捉异常,但是如果我改成InstantiationException能不能捕捉到?
public void rollback() throws AnshinDBConnectException{
String methodName = "commit()";
String errorMessage = null;
if (con == null) {
// データベースに接続されていません。
return;
}
try {
con.rollback();
} catch (InstantiationException e) {
errorMessage=e.getMessage();
Object[] obj = {methodName,errorMessage };
logger.error("COMMLE011",obj);
throw new AnshinDBConnectException("COMMSE011");
}
}
如果try里面真的报错了,InstantiationException能不能捕捉到?

解决方案 »

  1.   

    你可以在try里面加个异常抛出,throw new InstantialtionException()
      

  2.   

    我不是为了捕捉而去捕捉。我的意思是如果con.rollback(); 真的有错,catch里面的InstantiationException能不能捕捉到?
      

  3.   

    貌似捕捉不到吧,rollback只抛出sqlexception,如果是sqlexception的父异常可以捕捉到。
    现在做对日外包的挺多的嘛:)
      

  4.   

    InstantiationException如果和sqlexception没有任何关系就捕捉不到.