java学习笔记 异常知识小结

在java中Exception类是在java.lang包下,所以不用导入。它是所有异常的父类。Exception的父类是Throwable。

java中异常主要分为两类,checked exception以及unchecked exception(又称Runtime Exception)

平时我们try catch的或者是throw的异常,都是checked exception,而Runtime Exception一般推荐不做处理

1、unchecked exception : 所有的Runtime Exception(运行时异常) 都是直接或者间接继承自RuntimeException(继承自Exception)的。推荐不处理

2、checked exception: 凡是继承自Exception而不继承RuntimeException的异常都是非运行时异常。 必须进行处理,或者捕获,或者抛出,否则编译无法通过


处理异常又两种方法,1捕获,2抛出

一、捕获

即使用try catch finally,当然 也可以没有catch,只有try 和finally,但不推荐使用。

-- 当发生异常的时候,try块中 自发生异常的那一句代码开始,就不会继续执行,转到catch中,若有finally,则finally快中得代码也会被执行

-- try可以跟多个catch块,但同一时间,只会又一个catch块执行

-- 不同的catch,捕获不同的异常,但顺序需要注意,先出现catch所捕获的异常,不能是后面的catch块所捕获异常的父类。即后捕获的异常不能是继承自先出现的异常

-- 若try 块中又return的话,则会先执行完 finally块再return

-- 若try块中有 System.exit(0),则不会执行finally块,直接退出,因为这表示让虚拟机停止运行,代码不会再继续执行


二、抛出

-- 在方法内部使用throw关键字,在方法上使用throws关键字

-- 抛出的方法会由上一级进行选择 继续抛出去,还是捕获处理

-- 如果main方法也不处理,而将异常抛出,则最后会有JVM进行处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值