finally什么意思试解释Java与Finally的意义及用法?

finally什么意思  时间:2021-10-27  阅读:()

试解释Java与Finally的意义及用法?

一、 finally:java的一种异常处理机制。

finally是对Java 异常处理模型的最佳补充。

finally 结构使代码总会执行,而不管有无异常发生。

使用 finally 可以维护对象的内部状态,并可以清理非内存资源。

特别是在关闭数据库连接这方面,如果程序员把数据库连接的close()方法放到finally中,就会大大降低程序出错的几率。

二、在java中的finally关键一般与try一起使用,在程序进入try块之后,无论程序是因为异常而中止或其它方式返回终止的,finally块的内容一定会被执行 写个例子来说明下: [java] view plaincopyprint? <pre class="java" name="code">.teedry.base; public class TryAndFinallyTest { public static void main(String[] args) throws Exception{ try{ int a = testFinally(2); System.out.println("异常返回的结果a:"+a); }catch(Exception e){ int b = testFinally(1); System.out.println("正常返回的结果b:"+b); } int b = testFinally(3); System.out.println("break返回的结果:"+b); b = testFinally(4); System.out.println("return返回的结果:"+b); } static int testFinally(int i) throws Exception{ int flag = i; try{//一旦进去try范围无论程序是抛出异常或其它中断情况,finally的内容都会被执行 switch(i){ case 1:++i;break;//程序 正常结束 case 2:throw new Exception("测试下异常情况"); case 3:break; default :return -1; } }finally{ System.out.println("ing when i="+flag); } return i; } } </pre><br> <pre></pre> <p>执行结果如下:</p> <p>ing when i=2<br> ing when i=1<br> 正常返回的结果b:2<br> ing when i=3<br> break返回的结果:3<br> ing when i=4<br> return返回的结果:-1</p> <p> </p> <p>结果说明无论上述什么情况,finally块总会被执行。

</p> 二 try的范围内存在exception的话,就会在exception的位置跳到exception哪里,然后执行完exception之后就马上进入finally。

假如exception范围内存在return这些的也会执行finally 假如try范围内不存在exception的话,就执行完try范围内代码之后进入finally执行,finally代码 其实,一般finally写的代码就是流的关闭语句, 假如还是不明白,试一下运行我下面写的几个代码就知道的了。

假如try不存在exception的话: try{ System.out.println("try"); }catch(Exception e) { System.out.println("Exception"); } finally{ System.out.println("Finally"); } 假如try中存在exception的: try{ String demo = null; demo.split(";"); System.out.println("try"); }catch(Exception e) { System.out.println("Exception"); } finally{ System.out.println("Finally"); } 假如try中存在exception,然后exception中存在跳出语句的: try{ String demo = null; demo.split(";"); System.out.println("try"); }catch(Exception e) { System.out.println("Exception"); return; } finally{ System.out.println("Finally"); } 假如try中不存在exception,但是try中存在跳出语句的: try{ System.out.println("try"); return; }catch(Exception e) { System.out.println("Exception"); } finally{ System.out.println("Finally"); }

HostYun(月18元),CN2直连香港大带宽VPS 50M带宽起

对于如今的云服务商的竞争着实很激烈,我们可以看到国内国外服务商的各种内卷,使得我们很多个人服务商压力还是比较大的。我们看到这几年的服务商变动还是比较大的,很多新服务商坚持不超过三个月,有的是多个品牌同步进行然后分别的跑路赚一波走人。对于我们用户来说,便宜的服务商固然可以试试,但是如果是不确定的,建议月付或者主力业务尽量的还是注意备份。HostYun 最近几个月还是比较活跃的,在前面也有多次介绍到商...

享有云:美国BGP云服务器低至20元/月起,首月打折;香港2核2G2M仅50元/月起

享有云怎么样?享有云是一家新的国内云服务器商家,目前提供国内、香港及海外地区的云服务器,拥有多线路如:BGP线路、CN2线路、高防等云服务器,并且提供稳定、安全、弹性、高性能的云端计算服务,实时满足您的多样性业务需求。目前,美国bgp云服务器,5M带宽,低至20元/月起,270元/年起,首月打折;香港2核2G2M仅50元/月起,450元/年起!点击进入:享有云官方网站地址享有云优惠活动:一、美国B...

弘速云香港VPSVPS线路有CN2+BGP、CN2 GIA,KVM虚拟化架构,裸金属月付564元

弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。点击进入:弘速云官方网站地址...

finally什么意思为你推荐
极速360360浏览器和极速360浏览器哪个好用?宫本武藏重做王者荣耀宫本武藏重做后怎么玩 宫本重做技能连招使用铁鼠技能阴阳师铁鼠有必要练吗 阴阳师铁鼠的正确使用方法魔兽世界台湾WOW怎么去台服台服wow怎么能玩上 台服 WOW ?联想m495我的联想m495笔记本电脑玩lol怎么fps这么低啊。根本玩不了里里古汉语中“坊里”两个字分别是什么意思孙琛以‘耕耘’为话题的一篇作文 不少于940字密云龙北京锁龙井真的锁着条龙吗痛痒相关骨肉之情,恩重如山,情深似海,痛痒相关,我知道这些词都可以写啥啥
simcentric 美国主机网 光棍节日志 全能主机 网盘申请 40g硬盘 创梦 腾讯云分析 免费全能主机 php空间购买 怎么建立邮箱 cloudlink smtp虚拟服务器 万网注册 tracker服务器 云主机 西部数码空间购买 运维堡垒主机 灵动:鬼影实录 联通3g无限流量卡 更多