捕捉异常try-catch

  捕捉异常的用法:

    语法:    try{

              有异常的代码部分

              }catch( 参数就是填写对象名称就像这样一样){

                          使用对象操作东西比如  对象名称.方法…………

              }

  简单来说就是:把你需要捕捉的异常代码放进try里面,catch参数里面就是写对象名称什么的就是让对象指向那个类的地址,其余里面就是操此对象可以用来做什么,一个try可以有多个catch

需要注意的地方

1、try块中的局部变量和catch块中的局部变量(包括异常变量),以及finally中的局部变量,他们之间不可共享使用。

2、每一个catch块用于处理一个异常。异常匹配是按照catch块的顺序从上往下寻找的,只有第一个匹配的catch会得到执行。匹配时,不仅运行精确匹配,也支持父类匹配,因此,如果同一个try块下的多个catch异常类型有父子关系,应该将子类异常放在前面,父类异常放在后面,这样保证每个catch块都有存在的意义。

3、java中,异常处理的任务就是将执行控制流从异常发生的地方转移到能够处理这种异常的地方去。也就是说:当一个函数的某条语句发生异常时,这条语句的后面的语句不会再执行,它失去了焦点。执行流跳转到最近的匹配的异常处理catch代码块去执行,异常被处理完后,执行流会接着在“处理了这个异常的catch代码块”后面接着执行。

有的编程语言当异常被处理后,控制流会恢复到异常抛出点接着执行,这种策略叫做:resumption model of exception handling(恢复式异常处理模式 )

而Java则是让执行流恢复到处理了异常的catch块后接着执行,这种策略叫做:termination model of exception handling(终结式异常处理模式)

public static void main(String[] args){

        try {

            foo();

        }catch(ArithmeticException ae) {

            System.out.println("处理异常");

        }

}

public static void foo(){

        int a = 5/0;  //异常抛出点

        System.out.println("为什么还不给我涨工资!!!");  //////////////////////不会执行

原文地址:https://www.cnblogs.com/JiXianSen/p/12150205.html