finally{}中写return的问题,finally block does not complete normally

我们都使用过

try{
    //
}catch(Exception e){
    //
}finally{
    //
}

这个异常处理结构,

try中,在service中主要是控制事务,在Action中或者Controller中写可能会抛出异常的代码

catch中,在service中可以手动或自动抛出异常,在Acion或者Controller中用e.getMessage();来捕获异常

在finally中的代码无论是否抛出异常都会执行,主要是用来释放资源,但是当我们在finally中写return语句的时候就是报黄线(finally block does not complete normally),意思是:finally块没有正常完成,因为如果在catch块中抛出异常的话就相当于已经return了,此时finally块中的return就无法正常完成了

发布了26 篇原创文章 · 获赞 9 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/wazk2008/article/details/84101470