主要描述java try-catch-finally中的返回值问题。

1.try中正常执行,finally有return,则走finally的return值。

2.try中正常执行,finally无return,则走try中的return值。

3.try中正常执行,try和finally中都没有return,则finally括号外边必须有return,且最终结果就是该return值。

4.try中出现异常,异常代码段之后的代码将不会被执行。此时,如果finally中有return则走finally的return;如果finally中没有return,则走catch中的return值。

5.如果catch中出现异常,则由finally兜底。

6.finally中出现异常,那么就死僵僵了,从这行代码开始就会出crash。

总结:finally配合try-catch使用,在try或catch将要退出的时候(正常return退出或者异常退出),JVM都会保证先去调用finally中的代码,在finally中的代码被执行的时候,如果有return,则直接退出,try和catch都不再走;如果finally中没有return,finally执行完毕之后会返回去执行try或catch中的return。

Java中的try-catch-finally相关推荐

  1. [转载]java中try 与catch的使用

    留着以后看 原文地址:java中try 与catch的使用作者:碌碌如玉 try{ //代码区 }catch(Exception e){ //异常处理 } 代码区如果有错误,就会返回所写异常的处理. ...

  2. java中try 与catch的使用

     (2011-10-08 17:08:43) 转载▼ 标签: 杂谈 分类: Java try{ //代码区 }catch(Exception e){ //异常处理 } 代码区如果有错误,就会返回所写异 ...

  3. (转)java 中的try catch finally 语句中含有return语句的执行情况(总结版)

    原处:http://blog.csdn.net/ns_code/article/details/17485221 在这里看到了try catch finally块中含有return语句时程序执行的几种 ...

  4. java中catch ()_有关java中的try{}catch(){}的讲解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_38225558/article/ ...

  5. Java中关于try{}catch{}抛出异常的一个例子

    之前对try{ }catch{ }没有什么了解知识知道有这么个抛出异常的方法,今天在写一个简单的判断月份的代码时,突然想到了如果我输入的是字符串怎么办,于是就想到了用try抛出异常, 在写的时候出现个 ...

  6. Java中的try/catch/finally

    样例1: 1 public class Test{ 2 public static String output = ""; 3 public static void foo(int ...

  7. java try的用法_Java中try、catch的使用方法

    Java中有两种处理异常的方式,分别是用throws抛出异常.用try.catch捕获异常. try-catch 在Java try-catch语句的语法格式: try{ //代码块 }catch(E ...

  8. Java 中关于 try、catch、finally 中的细节分析

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:God Is Coder https://www.cnblo ...

  9. Java中异常处理之try和catch代码块的使用

    转自:https://www.jb51.net/article/72901.htm Java try和catch的使用 尽管由Java运行时系统提供的默认异常处理程序对于调试是很有用的,但通常你希望自 ...

  10. java中关于try、catch、finally中的细节分析

    为什么80%的码农都做不了架构师?>>>    看了一位博友的一片文章,讲解的是关于java中关于try.catch.finally中一些问题 下面看一个例子(例1),来讲解java ...

最新文章

  1. windows7下java配置环境
  2. 实例讲解如何把表格变量传递到存储过程中
  3. Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA
  4. Keras蚂蚁金服大赛实战——自然语言处理技术
  5. MAP/REDUCE:Google和Nutch实现异同及其他
  6. H3C认证路由交换互联网络专家
  7. mac 安装和使用MongoDB
  8. GitHub Action 有风险?!
  9. 试验设计(DOE)方法及其关键工具
  10. c语言判断素数 是返回1,c语言编程:设计一个函数用于判断一个数是否为素数,如果是素数返回1,否则返回0。...
  11. JVM 垃圾回收机制主要原理
  12. 地图染色(四色定理)问题
  13. error An unexpected error occurred: “https://registry.npmjs.org/ant-design-vue: tunneling socket cou
  14. Informatica保障江苏电信规范化ETL开发
  15. 2017年六级翻译:宋朝和唐朝
  16. MYSQL进阶(一)
  17. 深度linux没有硬盘,安装Deepin系统到硬盘分区部分没有发现硬盘数据的解决
  18. HDFS基础知识(个人总结)
  19. C - Justice
  20. 压力测试工具WCAT

热门文章

  1. 共享打印机没有权利访问计算机,共享打印机拒绝访问,教您共享打印机拒绝访问怎么办...
  2. 【无标题】Ubuntu安装linaro工具链问题
  3. 【语篇标记练习题】Dismissing what was said
  4. python写cdr插件_CDR插件: YG辅助增强插件 完美支持Win3264位 CorelDRAW X4-2018 免费下载附详细图文教程...
  5. 123456789 中间随机添加 “加减符号” 进行运算结果等于100
  6. 新浪OAuth客户端登陆另辟蹊径
  7. TCP/IP(三):ARP报文格式详解
  8. 趣学Spring:一文搞懂Aware、异步编程、计划任务
  9. 2021-11-01 讲题题解
  10. JavaWeb的体育用品商店的设计与实现