有这样一段代码 :

public class EmbededFinally {

public static void main(String args[]){

int result;

try {

System.out.println("in Level 1");

try {

System.out.println("in Level 2");

// result=100/0;  //Level 2

try {

System.out.println("in Level 3");

result=100/0;  //Level 3

}

catch (Exception e) {

System.out.println("Level 3:" + e.getClass().toString());

}

finally {

System.out.println("In Level 3 finally");

}

// result=100/0;  //Level 2

}

catch (Exception e) {

System.out.println("Level 2:" + e.getClass().toString());

}

finally {

System.out.println("In Level 2 finally");

}

// result = 100 / 0;  //level 1

}

catch (Exception e) {

System.out.println("Level 1:" + e.getClass().toString());

}

finally {

System.out.println("In Level 1 finally");

}

}

当我去掉level2中level3前面的注释时,level3的catch不再执行;

当我去掉level2中level3后面的注释时,level3的catch执行;

所以得到,当try中发现异常并抛出异常之后则不向下执行,直接转到catch接收异常,最后执行同层次finally。

}

转载于:https://www.cnblogs.com/hehejeson/articles/4963852.html

try、catch、finally的执行顺序相关推荐

  1. try catch finally的执行顺序到底是怎样的?

    首先执行try,如果有异常执行catch,无论如何都会执行finally 一个函数中肯定会执行finally中的部分. 关于一个函数的执行过程是,当有return以后,函数就会把这个数据存储在某个位置 ...

  2. 有return的情况下try catch finally的执行顺序

    前言,在写java 异常捕捉块的时候,有时候用到return,有时有各种情况,不仔细分析的化就会出现意想不到的问题,所以我测试一般情形,用于记录一下. 情景1:try{}catch{}finally{ ...

  3. try,catch,finally的执行顺序问题

    大家面试的时候想必会遇到这种面试题,要我们输出结果... 其实在实际的业务中呢一般都是用finally来关闭流的,很少做其它业务操作,所以呢大家也就容易忽视掉这个问题 首先在finally和try中对 ...

  4. 一道异常处理执行顺序面试题的简单分析

    异常处理,我们写的代码里经常会用到:try{}catch{}finally{}.可是大家真的了解它吗? 下面的代码,运行结果是什么?大家猜一下: View Code static class Prog ...

  5. java子类代码块_java中父类子类静态代码块、构造代码块执行顺序

    父类静态(代码块,变量赋值二者按顺序执行) 子类静态 父类构造代码块 父类构造方法 子类构造代码块 子类构造方法 普通方法在实列调用的时候执行,肯定位于上面之后了 //父类A public class ...

  6. java try、catch、finally及finally执行顺序详解

    1.为什么要用finally 先看一个没有finally的异常处理try-catch语句: 假设count为要使用到的资源,并且用完要求释放此资源.那么我们可以把释放资源的语句放到try-catch后 ...

  7. java catch中 return_JAVA中try、catch、finally带return的执行顺序总结

    try catch  以后只要没有抛出新异常或者return,代码会继续往下执行的. 异常处理中,try.catch.finally的执行顺序,大家都知道是按顺序执行的.即,如果try中没有异常,则顺 ...

  8. try catch嵌套执行顺序测试

    分享一段测试try catch 执行顺序和那些代码后续执行,那么不执行的代码: @Testpublic void testTryCatch(){try {System.out.println(&quo ...

  9. 细琢磨,try catch finally 执行顺序与返回值

    try catch finally 常见格式如下: try{//应用代码}catch(Exception e){//异常捕捉处理}finally{//资源释放.流关闭等等 } 通常执行顺序: try有 ...

  10. try catch finally return的执行顺序与返回值探究

    下午看了一下百度文库中下载下来的java笔试题,其中一道就是关于这个问题的,所以写了个测试程序验证了一下,另外具体的理论知识搜罗了网上的资料. 测试程序如下: package com.andy.cod ...

最新文章

  1. 请简述计算机软件系统与硬件系统的关系,电脑硬件与软件的关系是什么?
  2. java跳转语句包含goto_Java 的跳转语句中 _______( 包含 / 不包含 )goto 语句。_学小易找答案...
  3. 数据库:分享四个实用的SQLServer脚本函数,欢迎收藏
  4. 【2021.01.01】人生中很重要的一个十年,差强人意
  5. python库--pandas--Series.str--字符串处理
  6. python学习笔记-Day5
  7. Python+OpenCV:交互式图像前景提取(Interactive Foreground Extraction using GrabCut Algorithm)
  8. 不联网的情况下,使用 electron-builder 快速打包全平台应用
  9. PHP二维数组:统计某个键名的相同键值个数
  10. linux下安装mysql-5.7.20
  11. 期望dp+高斯消元——bzoj3143
  12. jsp网页视频播放器
  13. 5、html标签中的两种关系
  14. Verilog实现四位加/减法器(逻辑表达式)
  15. 网络神经科学 Network neuroscience
  16. E波段通信系统参考文献E-band info(整理)
  17. 打印机经常没反应的一个解决办法
  18. 加密解密在区块链中的应用
  19. jndi weblogic mysql_在WebLogic新建针对Oracle数据库的JNDI数据源
  20. 清理kdevtmpfsi、dbused挖矿木马程序

热门文章

  1. mPaaS 客户端问题排查之突如其来的“白屏”等待
  2. Java如何支持函数式编程?
  3. 2020年7月编程语言排行榜来喽,R编程语言创历史最高纪录
  4. 物联网的全球可用性如何带来新的商机?
  5. 比起第一代,《最后生还者2》到底做错了什么?
  6. proxy error: could not proxy request解决方案
  7. Java应用程序与小程序之间有那些差别?
  8. oracle转义字符
  9. 未能加载文件或程序集 ICSharpCode.SharpZipLib
  10. ##安装MySql数据库并解决如果安装出错卸载的注意事项