蛰伏丛居 2014-08-07 14:17 采纳率: 0%
浏览 2658

不是很明确java中的trycatch中,finally()的作用

请大家看一下我下面的代码:
public class trycatch {
public static void main(String args[])
{
try{
System.out.println(2/0);
System.out.println("检查是否有异常");
}

catch(ArithmeticException e )
{
System.out.println("系统正在维护,请与管理员联系");
e.printStackTrace();

}
finally
{
    System.out.println("必须执行的语句,不管你是否异常");
}
System.out.println("我主要是想看一下他会不会执行,为什么上面有异常他还是执行了这条语句呢,感觉finally没有用似得");

}
}

//上面这个程序显然是抛出了异常的,但是为什么不在finally()之内的语句也执行了呢??
感觉有没有finally,之后还不是一样执行么?
我是一个初学者,不是很理解finally的作用,恳请各位大神指教,小弟在此谢谢大家啦

  • 写回答

2条回答 默认 最新

  • xuan_1002xuan 2014-08-07 16:56
    关注

    不管是否抛出异常finally内的代码都必须执行。例如,jdbc操作时,一般都在finally内执行关闭资源的操作(查询时不用关闭资源,不然会出问题)。

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿