JAVA里连接数据库为什么执行executeQuery查询的时候语句出错会不进catch里呢,如图啊!

就这样的,rs的那一句SQL有错,可是直接跳到finally里了,不进catch里啊,为什么啊!所以一旦报错的话,程序走下来都没有个return的值啊!

求知道的大神们或者相同问题的帮帮我啊

其实是return 和finally执行先后的问题,因为你的catch里面只有一句return,如果先执行return了,就直接跳出方法了,因此,这里会先走到finally,最后执行catch里的return。
你可以在catch里面return之前多加几行代码,测试一下。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-02-27
这是因为亲捕捉的异常范围问题,亲可以捕捉异常后直接处理异常信息后直接return的。追问

对啊,我有写了最大的错误,就catch(Exception e){
//然后这里就直接return null了的呢,可是问题是他一直不进入到这个catch里呢,为什么饿

}

追答

不可能的啊,你给的信息有点少。

追问

嗯,今天我懂了,原来因为那里就一句reterun 所以先进finally里了,然后因为SQL语句出错所以对应的rs没能得到值,所以最后的rs.close就会空指针了

第2个回答  2014-02-28
你在catch里面System.out(e.printStackTrace());一下,断点就进去了。
相似回答
大家正在搜