第九章 Java异常和异常处理 第一节 Java异常分类

异常概述:

异常:程序不正常的行为或者状态

---- int  a  =  5 / 0 ;

----数组越界访问

---- 读取文件,结果该文件不存在

异常处理(处理整个异常):希望可以做到

----程序返回到安全状态

----允许用户保存结果,并以适当方式关闭程序

举个例子:

早期的时候,windows98一旦出现错误,系统直接蓝屏,所有的东西如编辑的文档,编写的代码全都没有(没有来得及保存)

现在的win7 / win10,如果程序出现错误,就会弹出一个错误警告,问你发送不发送,那我们其他的程序不受影响,也不大会出现蓝屏的现象,这就是操作系统对异常的处理

异常分类(1):

--Throwable是Java所有异常(错误)的祖先类

--Throwable可以分为Error和Exception,Exception又可以分为非RuntimeException和RuntimeException,其中IOException是非RuntimeException里面的一个典型代表

异常分类(2):

--Throwable:所有错误的祖先

--Error:系统内部错误或者资源耗尽。不管

--Exception:程序有关的异常。重点关注。

(1)RuntimeException:程序自身的错误

5 / 0,空指针,数组越界...

(2)非RuntimeException:外界相关的错误

打开一个不存在的文件

加载一个不存在的类

连接一个不存在的数据库

异常分类(3):

Throwable还可以分为checked Exception异常和Unchecked Exception异常

(1)Unchecked Exception:(编译器不会辅助检查的,需要程序员自己管的)异常,包括Error子类和RuntimeException子类

(2)checked Exception:即非RuntimeException异常(编译器会辅助检查的)异常(编译器会提醒你,你不处理,编译不通过。编译器检查程序是否为Checked的Exception配置了处理,如果程序没有为这个配置处理,就会报错,编译不会通过)

异常处理(4):

----Checked Exception(非RuntimeException的Exception的子类),程序员必须处理,以发生后处理为主。编译器会辅助检查。

----Unchecked Exception中的RuntimeException子类,程序必须处理,以预防为主。编译器不关心此类异常,也不会辅助检查。

----Error的子类,可以不用处理。

辅助检查就是在代码编写时编译器检查并指出错误

总结:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值