蛰伏丛居 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内执行关闭资源的操作(查询时不用关闭资源,不然会出问题)。

    评论

报告相同问题?

悬赏问题

  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面