java中try catch finally注意事项,finally在代码中什么时候运行

1、在java里函数抛出异常是需要在函数上定义的,除了runtimeException外

2、java中finally运行的位置在函数return前,其他的代码后。函数会运算完所有执行的代码,包括return里面的表达式,只是在return操作前去执行finally里面的代码。实例如下面的代码:

public class Test{
    public int add(int a,int b){
         try {
             return a+b;
         }
        catch (Exception e) {
            System.out.println("catch语句块");
         }
         finally{
             System.out.println("finally语句块");
         }
         return 0;
    }
     public static void main(String argv[]){
         Test test =new Test();
         System.out.println("和是:"+test.add(9, 34));
     }
}

 运行的结果为:

finally语句块
和是:43

时间: 2024-10-06 16:56:54

java中try catch finally注意事项,finally在代码中什么时候运行的相关文章

浅谈Observer在代码中表现形式

说到观察者模式,基本在软件工程领域中是应用广泛,不知道的可以先学习一番,下面给个快速的回顾,然后在通过一个grpc中的responseObserver谈下观察者对象在代码中的位置. 喜欢类图,就不上其他图了,只有能看懂类图,才好说吗观察者在代码中的位置.但也要总结下观察者的消息事件对象: 1.观察者订阅某个主题: 2.主题发生变化,然后通知观察者 3.观察着收到通知,然后作出响应 这里涉及两类对象,观察者和被观察者(主题),首先第一步,观察者订阅某个主题,在业务领域,该行为动作应该由观察者自身发

实验--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用(杨光)

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 攥写人:杨光  学号:20135233 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验要求: 选择一个系统调用(13号系统调用time除外),系统调用列表参见http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/sys

动力之源:代码中的“泵”

相关文章连接: 编程之基础:数据类型(一) 编程之基础:数据类型(二) 高屋建瓴:梳理编程约定 完整目录与前言 动力之源:代码中的"泵"     10.1 "泵"的概念    215 10.1.1 现实生活中的"泵"    215 10.1.2 代码中的"泵"    216 10.1.3 代码中"泵"的作用    218 10.2 常见"泵"结构    219 10.2.1 桌面GUI框

iOS: 在代码中使用Autolayout

原理:IOS6.0 之后,苹果优化了UI界面的布局方式,提出了自动布局的概念,和之前的autoresizing相比功能更强大.子视图基于父视图的自动布局显示.都是父视图去添加对子视图的约束. 在这里主要说的是通过代码对自动布局视图的实现. 代码中一般用到的有两个添加约束的方式: 1.- (void)addConstraint:(NSLayoutConstraint *)constraint NS_AVAILABLE_IOS(6_0); 2.- (void)addConstraints:(NSAr

在代码中使用Autolayout (1) – 按比例缩放和优先级

首先说按比例缩放,这是在Interface Builder中无法设置的内容.而在代码中,使用NSLayoutConstraint类型的初始化函数中的multiplier参数就可以非常简单的设置按比例缩放.同时也可以设置不同NSLayoutAttribute参数来达到意想不到的效果,比如“A的Width等于B的Height的2倍”这样的效果. OK,开始写代码,我们就拿一个简单的UIButton做示例,在ViewController中创建一个UIButton字段: UIButton *btn; 命

Dynamics AX 2012 R2 从代码中调用SSRS Report

    平时,我们制作SSRS Report的方法主要有两种:使用Query或RDP.如果需要为报表传递参数,就要在代码中为报表参数赋值,然后在代码中调用报表.下面我总结下这两种报表在代码中传参和调用的方式: 1.使用Query作为报表数据源 1.1.Dynamic Filters属性     在VS中,需要注意Report DataSource的Dynamic Filters属性. 1.1.1.如果Dynamic Filters属性为True的话,会在Report Parameter中生成一个

java中try{}catch{}和finally{}的执行顺序问题

 今天我给大家讲解一下java的的错误和异常处理机制以及相关异常的执行顺序问题.如有不足的地方,欢迎批评指正~ 1.首相简单介绍一下java中的错误(Error)和异常(Exception) 错误和异常的介绍: 在java.lang软件包中有一个java.lang.Throwable类,这个类是java中所有错误和异常的超类. 在java中错误和异常的继承主要有两个: 分别为Error和Exception 这两个. Error:         是java中所有错误类的父类,就是jvm出现错误,

【转】case: Java中try catch finally语句中含有return语句的执行情况(总结版)

Java中try catch finally语句中含有return语句的执行情况(总结版) 有一点可以肯定,finally块中的内容会先于try中的return语句执行,如果finall语句块中也有return语句的话,那么直接从finally中返回了,这也是不建议在finally中return的原因.下面来看这几种情况. 情况一(try中有return,finally中没有return): [java] view plain copy public class TryTest{ public 

java程序员要注意那些事项在面试中

Java虽然是好最就业的职业之一,但是也不是那么容易的,最容易出错的地方就是在面试当中,不像其他的职业java一旦被录用,被辞掉的肯能行就很小,除非你真的有问题.下面就睡几个java程序员要注意在面试中的那些问题. 1.HashMap和Hashtable之间的区别 经常问到.这两个都是Map接口的类,实现了将唯一键映射到特定的值上. HashMap类没有排序,可以一个null键和多个null值 Hashtable,不可以有null键和null值.比Hash慢,因为他是同步的. 2.abstrac