异常处理篇2-异常处理机制try-catch-finally

背景

编写程序时,需要在可能出现错误的地方加上监测的代码,比方说x/y时,要监测y是否为0,输入的数据类型等。如果使用if-else分支会导致程序代码过长,臃肿,可读性差。因为需要采用异常处理机制。

将异常处理的程序代码集中在一起,与正常的程序代码分开,使得程序简洁、优雅、易于维护。

处理方式

1、try-catch-finally

2、throws+异常类型

具体方式

抓抛模型

过程1:“抛”,程序在执行中,一旦出现异常,会在异常代码处生成一个对应异常类的对象,并将此对象抛出。一旦抛出对象,其后的代码不再执行。

过程2:“抓”,可以理解为异常的处理方式

1)try- catch-finally

2)throws

try-catch-finally

处理编译异常,使得在编译时不会报错,但运行时仍可报错。

相当于将编译时可能出现的错误,后移至运行时报错

1、形式

try{

    //可能出现异常的代码

}catch(异常类型1 变量名1){

    //处理异常类型1

}catch(异常类型2 变量名2){

    //处理异常类型2

}catch(异常类型3 变量名3){

    //处理异常类型3

}

...

finally{

    //一定会执行的代码

}

2、没有写finally的时候,可以继续执行其后的代码

3、catch的异常类型,如果满足子父类关系,子类一定要声明在父类之上

4、常用的异常对象处理方式

1)string---getMessage(),如:System.out.println(e.getMessage())

2)printStackTrace(),如:e.printStackTrace();

5、在try结构中声明的变量,出了try后不能再用(变量的作用域)

你可能感兴趣的:(异常处理篇2-异常处理机制try-catch-finally)