异常处理

异常:运行期出现的错误。

异常机制:遇到异常事件时,会生成一个封装了异常信息的异常类对象,并提交给运行时系统自动打印出来。【练习1】


分类    Throwable    Error                                                          程序处理不了的错误

                                   Exception      RuntimeException          经常出的错误,出异常时catch不出不用catch 。代码本身有问题。数组越界  【练习2】

                                                           Others                              出不出都要显式catch。凡是带throws的类都是这种异常。 代码本身没问题,只是代码有潜在出问题的风险。I/O


finally 无论如何这里的代码都会执行;当try中语句一报错被捕获异常之后 语句二不会被执行了,但是finally中的 内容最后都会执行。

当try中有return时,在return的时候把值存在内存栈中,等finally执行完了再返回(return先执行 finally先输出);如果finally中有return,那么直接返回,不会再回头执行任何语句


如果当前方法处理不了异常,throws给上级部门;当你调用我这个方法时应该catch住我这个异常或者继续抛出去;如果mian方法也往外抛就抛搭到运行时系统,会打印出堆栈信息。【练习4】

catch住的异常一定要处理


throw new异常对象  前面要有throws

捕捉范围不能抓大放小,只能先小后大。


自定义异常:继承Exception 或者RuntimeException【练习5】

重写方法不能抛出比父类方法大的异常或者不抛出异常【练习6】

--------------------------------------

练习1: 捕获一个数组越界错误并且输出错误提示,打印堆栈信息。

练习2:捕获一个RuntimeException。ArithmeticException;捕获一个Exception。FileNotFoundException;比较区别。

练习3:向上抛出异常。

练习4:自定义异常(登记人数)。 

练习5:验证重写异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值