当前位置: 首页 > news >正文

企业网站建设方案应该怎么做重庆建设工程造价协会

企业网站建设方案应该怎么做,重庆建设工程造价协会,360建筑网招聘电话,话费充值代理平台Markdown版本笔记我的GitHub首页我的博客我的微信我的邮箱MyAndroidBlogsbaiqiantaobaiqiantaobqt20094baiqiantaosina.com异常 try catch finally return 执行关系 MD 目录 目录探讨finally语句的执行与return的关系探讨finally语句的执行与return的关系 Java异常捕获机制try.…Markdown版本笔记我的GitHub首页我的博客我的微信我的邮箱MyAndroidBlogsbaiqiantaobaiqiantaobqt20094baiqiantaosina.com 异常 try catch finally return 执行关系 MD 目录 目录探讨finally语句的执行与return的关系 探讨finally语句的执行与return的关系 Java异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行不一定至少有两种情况下finally语句是不会被执行的 try语句没有被执行到如在try语句之前就返回了这样finally语句就不会执行这也说明了finally语句被执行的必要而非充分条件是相应的try语句一定被执行到。在try块中有System.exit(0)这样的语句System.exit(0)是终止Java虚拟机JVM的连JVM都停止了所有都结束了当然finally语句也不会被执行到。1、finally语句是在try的return语句执行之后return返回之前执行的 测试案例 public class TestFinally {public static void main(String[] args) {System.out.println(test());}public static String test() {try {System.out.println(try block);if (new Random().nextBoolean()) {return 直接返回;} else {return test2();}} finally {System.out.println(finally block);}}public static String test2() {System.out.println(return statement);return 调用方法返回;} } 运行结果 try block finally block 直接返回 或 try block return statement finally block 调用方法返回 说明try中的return语句先执行了但并没有立即返回而是等到finally执行结束后再返回。 这里大家可能会想如果finally里也有return语句那么是不是就直接返回了try中的return就不能返回了看下面。 2、finally块中的return语句会覆盖try块中的return返回 public class TestFinally {public static void main(String[] args) {System.out.println(test());}public static String test() {try {System.out.println(try block);return 在try中返回;} finally {System.out.println(finally block);return 在finally中返回;}// return finally外面的return就变成不可到达语句需要注释掉否则编译器报错;} } 运行结果 try block finally block 在finally中返回 这说明finally里的return直接返回了就不管try中是否还有返回语句。 这里还有个小细节需要注意finally里加上return过后finally外面的return b就变成不可到达语句了也就是永远不能被执行到所以需要注释掉否则编译器报错。 3、如果finally语句中没有return语句覆盖返回值那么原来的返回值可能因为finally里的修改而改变也可能不变 测试用例 public class TestFinally {public static void main(String[] args) {System.out.println(test());}public static int test() {int b 20;try {System.out.println(try block);return b 80;} finally {b 10;System.out.println(finally block);}} } 运行结果 try block finally block 100 测试用例2 public class TestFinally {public static void main(String[] args) {System.out.println(test());}public static ListInteger test() {ListInteger list new ArrayListInteger();list.add(10086);try {System.out.println(try block);return list;} finally {list.add(10088);System.out.println(finally block);}} } 运行结果 try block finally block [10086, 10088] 这其实就是Java到底是传值还是传址的问题了简单来说就是Java中只有传值没有传址。 这里大家可能又要想是不是每次返回的一定是try中的return语句呢那么finally外的return不是一点作用没吗请看下面 4、try块里的return语句在异常的情况下不会被执行这样具体返回哪个看情况 public class TestFinally {public static void main(String[] args) {System.out.println(test());}public static int test() {int b 0;try {System.out.println(try block);b b / 0;return b 1;} catch (Exception e) {b 10;System.out.println(catch block);} finally {b 100;System.out.println(finally block);}return b;} } 运行结果是 try block catch block finally block 110 这里因 为在return之前发生了异常所以try中的return不会被执行到而是接着执行捕获异常的 catch 语句和最终的 finally 语句此时两者对b的修改都影响了最终的返回值这时最后的 return b 就起到作用了。 这里大家可能又有疑问如果catch中有return语句呢当然只有在异常的情况下才有可能会执行那么是在 finally 之前就返回吗看下面。 5、当发生异常后catch中的return执行情况与未发生异常时try中return的执行情况完全一样 public class TestFinally {public static void main(String[] args) {System.out.println(test());}public static int test() {int b 0;try {System.out.println(try block);b b / 0;return b 1;} catch (Exception e) {b 10;System.out.println(catch block);return 10086;} finally {b 100;System.out.println(finally block);}//return b;} } 运行结果 try block catch block finally block 10086 说明了发生异常后catch中的return语句先执行确定了返回值后再去执行finally块执行完了catch再返回也就是说情况与try中的return语句执行完全一样。 总结 finally块的语句在try或catch中的return语句执行之后返回之前执行且finally里的修改语句可能影响也可能不影响try或catch中return已经确定的返回值若finally里也有return语句则覆盖try或catch中的return语句直接返回2019-3-4转载于:https://www.cnblogs.com/baiqiantao/p/10472137.html
http://www.pierceye.com/news/976617/

相关文章:

  • 株洲网站制作360广告联盟平台
  • 网站pv是什么意思vps开wordpress
  • 国外网站模版免费下载南通建设网站公司
  • 网站建设 广西学3d建模学费一般多少
  • 整站外包优化公司金山西安网站建设
  • 做3d动画网站广州公关公司排行榜
  • 网站开发确认表seo技术教程博客
  • 彩票网站建设一条龙淘客app
  • 泰安网站推广优化网站百度收录是什么意思
  • 免费虚拟主机控制面板长沙推广优化公司
  • 重庆企业网站建站公司建站系统
  • 规划设计网站推荐自己做采集电影网站
  • 免费学编程的网站有哪些做网站设计用什么软件
  • 网站成品超市学室内设计去哪好
  • 网站备案一个主体无锡建设银行网站
  • delphi xe10网站开发台州做网站多少钱
  • 怎样设计卖奖的网站做电影网站哪个服务器好
  • 找外包公司做网站的好处和坏处wordpress 访问量大
  • 淄博 网站设计越秀公司网站建设
  • 网站该如何做本地网站搭建软件
  • 如何做汽车团购网站学做馒头面包哪个网站好
  • 中国科技成就总结莱芜网站优化排名公司
  • 中国建设银行网站企业网银收费北京网站建设小程序开发
  • 成交型网站倡导公司网络营销课程总结1000字
  • 网站建设注册前端开发培训机构推荐
  • 遵义网站推广中国房地产app下载安装最新版
  • c语言网站建设禅城网站开发
  • 宁波品牌网站制作哪家好太平阳电脑网网站模板
  • seo网站外链工具看设计比较好的网站
  • 济南道驰网站建设有限公司怎么样某网站网站的设计与实现