自我总结,有什么不足或好的方案,希望大家给予纠正,感激不尽!

目的:try catch finaly的顺序执行,和大家复习一遍。

方法:debug来确认执行顺序。(需要引入junit包)

废话不多说,debug是检验代码执行顺序的唯一标准,哈哈...

测试一:

新建测试类:ExceptionTest

package com.core.test007;

import org.junit.Test;

public class ExceptionTest {

    @Test
public void main(){
put(test007());
} public int test007(){
int a = 10;
put("normal");
try {
put("try");
// a = 1 / 0;
put("try return before");
return a;
}catch (Exception e){
put("catch"); } finally {
put("finally");
}
put("method return before");
return 0;
} public static void put(Object obj) {
System.out.println(obj);
} }

打印出的信息为

normal
try
try return before
finally
10

debug了一下 ,执行语句的顺序为:

  1)  try体的语句,打印"try"

  2)  在try体中,打印 "try return before"

  3)  跳入finaly体,打印"finaly"

  4)  再次执行try体中的return语句

  5)  直接跳出函数体 返回到主函数体,打印 10

测试二:  

将上述ExceptionTest类代码中[ int a = 1 / 0 ; ]之前的注释删除,保存再次run则打印的信息为:

normal
try
catch
finally
method return before
0

debug了一下 ,执行语句的顺序为:

  1)  try体的语句,打印 "try"

  2) 执行语句 [ int a = 1 / 0 ; ]时,进入catch体,打印 "catch"

  3)  跳入finaly体,打印 "finaly"

  5)  跳出finaly体,打印 "method return before"

  6)  执行return 0

  7)  返回主函数,打印 0

总结:1. finaly体任何情况下都会执行。

     2. 当执行到try体中存在异常的语句(本案例中的异常语句为:[ int a = 1 / 0 ; ])时,则在try体中异常语句之后的语句在本次执行过程中都不会再被执行,而是进入catch语句。

          

Java中的try catch finaly先后调用顺序的更多相关文章

  1. java中构造代码块、方法调用顺序问题

    1. 继承的概念 继承在本职上是特殊——一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序 从类的结构上而言,其 ...

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

    留着以后看 原文地址:与catch的使用">java中try 与catch的使用作者:碌碌如玉 try{ //代码区 }catch(Exception e){ //异常处理 } 代码区 ...

  3. 【Java学习笔记之三十三】详解Java中try,catch,finally的用法及分析

    这一篇我们将会介绍java中try,catch,finally的用法 以下先给出try,catch用法: try { //需要被检测的异常代码 } catch(Exception e) { //异常处 ...

  4. java中多线程执行时,为何调用的是start()方法而不是run()方法

    Thead类中start()方法和run()方法的区别 1,start()用来启动一个线程,当调用start()方法时,系统才会开启一个线程,通过Thead类中start()方法来启动的线程处于就绪状 ...

  5. Java 中 try、catch、finally 语句块的执行顺序

    假设代码顺序书写如下:try → catch → finally → 其他代码 则: 1.正常执行顺序:try → catch → finally → 其他代码 2.try,catch和finally ...

  6. Java中关于HashMap的元素遍历的顺序问题

    Java中关于HashMap的元素遍历的顺序问题 今天在使用如下的方式遍历HashMap里面的元素时 1 for (Entry<String, String> entry : hashMa ...

  7. java中通过反射获取方法并且调用(getMethod和invoke深入)实践

    为了支持业务的快速变更,往往采用可配置的方式,将业务逻辑的处理部分配置在数据库中或者XMl文件里.配置什么,如何配置才更灵活,That's a problem. 以数据库配置为例(xml相同),在数据 ...

  8. java中try 与catch的使用

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

  9. 你真的理解Java中的try/catch/finally吗?

    看几个例子,回顾一下执行顺序 例子1 无异常,finally中的return会导致提前返回 public static String test() {    try {        System.o ...

随机推荐

  1. JSP最常用的五种内置对象(out,request,response,session,application)

    为了简化开发过程,JSP提供了一些内置对象,它们由容器实现和管理.开发者在JSP页面中无需声明,无需实例化就可使用.主要有out,request,response,session,applicatio ...

  2. Spring-Blog:个人博客(一)-Mybatis 读写分离

    概述: 2018,在平(tou)静(lan)了一段时间后,开始找点事情来做.这一次准备开发一个个人博客,在开发过程之中完善一下自己的技术.本系列博客只会提出一些比较有价值的技术思路,不会像写流水账一样 ...

  3. deeplearning.ai 卷积神经网络 Week 2 深度卷积网络:实例研究 听课笔记

    1. Case study:学习经典网络的原因是它们可以被迁移到其他任务中. 1.1)几种经典的网络: a)LeNet-5(LeCun et al., 1998. Gradient-based lea ...

  4. iOS学习——iOS项目Project 和 Targets配置详解

    最近开始学习完整iOS项目的开发流程和思路,在实际的项目开发过程中,我们通常需要对项目代码和资料进行版本控制和管理,一般比较常用的SVN或者Github进行代码版本控制和项目管理.我们iOS项目的开发 ...

  5. Codeforces 842A Kirill And The Game【暴力,水】

    A. Kirill And The Game time limit per test:2 seconds memory limit per test:256 megabytes input:stand ...

  6. More is better(并查集)

    http://acm.hdu.edu.cn/showproblem.php?pid=1856 More is better Time Limit: 5000/1000 MS (Java/Others) ...

  7. ACM_素数筛选

    /* *素数筛法,判断小于MAXN的数是不是素数. *notprime是一张表,为false表示是素数,true表示不是素数 */ const int MAXN = 1000010; bool not ...

  8. 开始使用 HBuilder 和 Mui - 1 - 分析 index.html ;

    转自:http://ask.dcloud.net.cn/article/240 好吧,在比较了 Codenameone 和 HBuilder 以后,俺反复考虑后,终于还是决定使用 HBuilder 这 ...

  9. C# delegate event func action 匿名方法 lambda表达式

    delegate event action func 匿名方法 lambda表达式 delegate类似c++的函数指针,但是是类型安全的,可以指向多个函数, public delegate void ...

  10. Jfinal——实践出真知

    什么是Jfinal? JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java语言所 ...