public boolean isExists(String sql){
rs=this.executeQuery(sql);
try{
if(rs.next()) return true;
else return false;
}catch(Exception e){
//捕获到了异常
}finally{
//...
}
System.out.println('catch异常了,这里为什么还会执行?')
return true;
}
是不是可以理解为finally后的代码不保证一定能执行?
有时执行有时不执行?这样的话是否应该在catch里返回, 而不是在finally后返回?请大家指点一二.
rs=this.executeQuery(sql);
try{
if(rs.next()) return true;
else return false;
}catch(Exception e){
//捕获到了异常
}finally{
//...
}
System.out.println('catch异常了,这里为什么还会执行?')
return true;
}
是不是可以理解为finally后的代码不保证一定能执行?
有时执行有时不执行?这样的话是否应该在catch里返回, 而不是在finally后返回?请大家指点一二.
//...your code
//无论是否异常 这里肯定执行
}
在捕获异常后
强制执行后面的语句块比如连接了一个巨大的数据库
就算出了异常
资源还是一定要释放的
finally{
这里的东西无论什么情况下都会被执行。
}
}cath(Exception ex){
}finally{
//要执行的代码,一定会被执行}
//代码看前面是否执出异常,如果在finally中执出异常,则不执行,否则执行