问题描述
[size=x-small][/size]做项目的时候,在dao层实现里写方法的实现,经常产生sql异常,但是我想把所有的异常都抛出去,放到业务层去处理,或者更好的放在servlet中作处理,但是sql异常抛出去就没有办法写finally,而且sql的异常抛出去,我在servlet中调用方法时却没有产生sql异常。。求详解
解决方案
首先,在方法声明时,需要通过关键字throws声明异常,然后,在catch块中,再通过关键字throw抛出异常,在其它地方调用该方法时,如果有异常抛出,就能捕获了。例如下面的代码:public void catchException() throws Exception {//方法声明,通过关键字throws声明//异常try {//业务逻辑代码} catch (Exception e) {throw new Exception(e);//在catch块中,通过关键字throw抛出异常} finally {System.out.println("执行了finally---");}}
解决方案二:
楼上正解!关闭问题吧楼主
解决方案三:
catch中在抛一次异常就好了吧
解决方案四:
直接try...finally或者try...catch(){/*再抛出一个异常*/}finally{}
时间: 2024-11-08 20:35:00