为了账号安全,请及时绑定邮箱和手机立即绑定

为什么一写finally就报错啊?奇了怪了

为什么一写finally就报错啊?奇了怪了

慕的地10843 2023-01-12 22:15:26
org.apache.jasper.JasperException: An exception occurred processing JSP page /FistWeb.jsp at line 8077: }catch(Exception e){78: System.out.println(e);79: }finally{80: rs.close();81: pstmt.close();82: conn.close();83: }Stacktrace:org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

因为你在try中定义的变量有效作用域只是try块,出了try块就不能用了,所以finally块中就编译错误。这很好理解,try中的代码万一出现异常就会跳到finally块继续执行,可能这时try中的变量定义还没执行,你却要在finally中用了,所以这肯定是不行的~

查看完整回答
反对 回复 2023-01-15
?
holdtom

TA贡献1805条经验 获得超10个赞

把定义放到try外面去。因为你在try中定义的变量有效作用域只是try块,出了try块就不能用了,所以finally块中就编译错误。这很好理解,try中的代码万一出现异常就会跳到finally块继续执行,可能这时try中的变量定义还没执行,你却要在finally中用了,所以这肯定是不行的


查看完整回答
反对 回复 2023-01-15
  • 2 回答
  • 0 关注
  • 69 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信