蛰伏丛居 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 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程