java进阶--异常处理机制

一、基本概念

1、异常的作用:

java将异常信息打印至控制台,供程序修改,增加其健壮性。

int c=1/0;    //将抛出 java.lang.ArithmeticException

2、异常以类的形式存在,每个异常类都可以生成异常对象

3、异常的继承关系,UML图描述(暂缺)

4、编译时异常与运行时异常

编译时异常发生概率比较高--如:拿一把伞酒就是对雨天出门"生病异常"发生前的预处理

运行时移仓一般发生概率比较低--如:小明走在大街上,可能会被天上的飞机轮子砸到,无法预处理。

编译时异常:受检异常 checkException

运行时异常:未受检异常,非受检异常 UnCheckedException

二、异常处理的两种方式

1、方法声明的位置上,使用throws关键字

2、使用try catch语句进行异常捕捉

举例:

集团销售员,自己失误导致公司损失1000元,throws向上抛异常,try catch:自己掏腰包处理

三、使用注意事项

1、一般不建议main方法使用throws,因为jvm只有终止程序,可以使用try catch

2、try catch中try语句执行到异常时候,直接执行catch中语句,其余语句不执行

3、方法上有throws异常时,调用时必须需预处理,属于编译时异常

修改后正常:

4、try,catch可以写多个,当多个catch时,从上到下的顺序,必须遵循从小到大原则

5、jdk8新特性,catch可以捕获多个异常

6、重写方法的异常声明时,可抛出异常不能大于父类的异常

(实际工作中一般和父类方法抛出一样的异常)

四、异常对象两个非常重要的方法

1、getMessage()

2、printStackTrace()

五、fially语句

1、fially子句最后执行,并且一定会执行,即使抛出异常

2、fially子句必须和try语句一起出现,不能单独使用,可以没有catch

3、举例说明

六、自定义异常

1、两个步骤

(1)编写类继承Exception或者RuntimeException

(2)提供两个构造方法,一个无参数的,一个有String参数的

2、举例说明

七、抛出异常

猜你喜欢

转载自blog.csdn.net/zx309519477/article/details/108889360