日期:2014-05-20  浏览次数:20755 次

java 异常捕获问题,求教啊。。。
本帖最后由 oZhangSanGong 于 2013-01-31 15:26:09 编辑
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Duplicate entry '8-1' for key 2
捕获异常时不能捕获,请问怎么正确捕获这个mysql异常

public void synRun() throws Exception{
// ...............
try{ sqlBean.execUpdate("sql insert"); }catch(MySQLIntegrityConstraintViolationException t){ System.out.println("存在"); //logger.error(t.getMessage()); }
}

sql操作方法:
public int execUpdate(String sql) {
             //执行更新或删除
             int rows = 0;
             
             if (conn != null && sql != null){
                     try{
                             stmt = conn.createStatement();
                             rows = stmt.executeUpdate(sql);
                     }catch(SQLException ex)        {
                             ex.printStackTrace();
                     }
             }
             return rows;
     }

我试过用,Exception,SQLException,MySQLIntegrityConstraintViolationException,Throwable也不行啊。
exception insert 异常

------解决方案--------------------
你首先要确定运行到了你的if里面,只要进了你的if里面,在try里面有异常,肯定会进入catch的。