2021-06-06

                                              异常的捕获和处理

1.认识异常

异常是指在程序的运行过程中所发生的不正常事件,如所文件找不到,、网络链接不通或链接中段、算数运算符出错、

数组下标越界、装载一个不存在的类、对null对象操作、类型转换异常等。异常会中断正在运行程序

2.java异常结构体体系

所有异常类都是Throwable类的子类,他派生了两个子类:Error类和Exceotion类

Error类:表示仅靠程序本身无法恢复的严重错误,假如出现这种错误应尽力使程序安全退出

Exceotion:java应用程序抛出和处理的非常严重错误,又分为两大类异常

1)运行时异常:包括RuntimeException及其所有子类。

2)Cheked:除了运行时异常外的其他从Exception类继承出来的异常类

java异常处理机制

1)使用try-catch处理异常

在eatch语句块中可以加入用户自定义处理信息,也可以调用异常对象的方法输出异常信息常用的方法如下

void  printStackTrace():输出异常的堆栈信息。堆栈信息包括程序运行到当前类的执行流程,他将输出从方法调用出到异常抛出的方法调用序列

String getMessage(): 返回异常信息描述字符串,该字符串描述了异常产生的原因,是 printStackTrace()输出信息的一部分

2)使用try-catch-finally处理异常

语句块的执行流程大致分为两种情况

如果try语句块中所有语句正常执行完毕,finall语句块也会被执行

如果try语句块在执行过程中发生异常,无论这种异常能否被catch语句块捕获到都将执行发finally语句块中的代码

3)使用多重catch处理异常

一段代码可能引发多种类型的异常,这时可以在try语句块后面多跟个catch语句块分别处理不同的异常,但排列的顺序必须是从子类到父类,

最后一个一般都是Exceotion类,因为按照匹配原则,如果把父类放到前面,后面的catch语句快将不会获得执行机会

运行时,系统从上到下分别对每个catch语句块处理的异常类性进行检测,并执行第一个异常类型匹配的catch语句,执行其中一条catch语句之后,其后的catch语句将被忽略。

4)使用throws声明抛出异常

5)使用throw抛出异常

throw和throws的区别

(1)作用域不同:throw用于程序员自行产生并抛出异常。throws用于声明该方法内抛出了异常

(2)使用的位置不同:throw位于方法体内部,可以作为单独语句使用;throws必须跟在方法参数列表后面,不能单独使用

(3)内容不同:   throw抛出一个异常对象,只能是一个;throws后面跟异常类,可以跟多个。

6)自定义异常

使用自定义有如下几个步骤

定义异常类,并继承Excepion或者RunntimeException

编写异常类的构造方法,并继承父类的实现

7)异常连

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值