day12:《Thinking in Java》笔记第十二章---通过异常处理错误

本文深入探讨了Java中的异常处理机制,包括基本异常的抛出与捕获、自定义异常的创建、异常说明及捕获所有异常的方法。同时介绍了异常处理的最佳实践,并提供了详细的示例说明。

一、基本异常

抛出异常:把错误信息传播到一个更大的环境,从而在当前环境不必担心这个问题。

二、捕获异常

1.try块

把所有代码都放到try块里,从而在一个地方就可捕获所有异常

2.catch

catch紧跟在try后面,是异常处理程序。每个catch子句就像是接收一个且仅接收一个特殊类型的参数的方法。

当异常被抛出时,异常处理机制负责搜寻参数与异常类型相匹配的第一个处理程序。然后进入catch子句执行,此时认为异常得到了处理。

三、创建自定义异常

自定义异常必须从已有的异常类中继承,最简单的方法是让编译器为你产生默认构造器。

用java.util.logging工具将输出记录到日志中。

四、异常说明

Java提供语法可告知客户端程序员某个方法可能会抛出的异常类型,然后客户端程序员就可以进行相应的处理。属于方法声明的一部分,紧跟在形参列表之后。

五、捕获所有异常

通过Exception来捕获异常类型。放在处理程序列表末尾。

1.栈轨迹

printStackTrace()方法提供的信息可通过getStackTrace()方法直接访问,返回一个由栈轨迹中的元素组成的数组。

2.重新抛出异常


3.异常链

六、Java标准异常

Throwable对象分为两种类型:Error表示编译时和系统错误,Exception是可以被抛出的基本类型。

1.特例:RuntimeException

七、使用finally进行清理

对于一些代码希望无论try块中的异常是否抛出,它们都能得到执行。通常适用于内存回收之外的情况。

对于无垃圾回收和析构函数自动调用机制的语言来说finally非常重要。

八、异常的限制

异常限制对构造器不起作用。

派生类构造器不能捕获基类构造器抛出的异常。

九、构造器

十、异常匹配

十一、其他可选方式

1.把异常传递给控制台。2.把被检查的异常转换为不检查的异常。

十二、异常使用指南

在下列情况使用异常:1.在恰当的级别处理问题;2.解决问题并且重新调用产生异常的方法;3.进行少许修补,然后绕过异常发生的地方继续执行;4.用别的数据进行计算,以代替方法预计会返回的值;5.把当前运行环境下能做的事情尽量做完,然后把相同的异常重抛到更高层;6. 把当前运行环境下能做的事情尽量做完,然后把不相同的异常重抛到更高层;7.终止程序;8.进行简化;9.让类库和程序更安全。

十三、总结

异常处理的优点之一是使得你可以在某处集中精力的处理你要解决的问题,而在另一处处理你编写的这段代码中产生的错误。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值