疯狂java讲义第10章错误处理课后习题答案

课后习题
1、改写第4章的五子棋游戏程序,为该程序增加异常处理机制,让程序更加健壮。

2、改写第8章的梭哈游戏程序,为该程序增加异常处理机制。

练习书上的例子并说出他想表达的意思。

补充练习
1、练习和了解Exception类体系。

2、在catch块中使用continue语句,看下行不行这样做。

3、说出使用try…catch…finally块自动回收资源的三种方式。并设计3个例子练习。

4、说出final修饰和有效的final分别是什么?有什么用处?怎么实现?

5、p381的java设计哲学:没有完善错误处理的代码根本就不会被执行。这句话怎么理解?编译报错,只要加上try catch语句就能够执行了吗?

6、说出checked异常和Runtime异常的含义,以及他们的区别和联系是什么,还有各自的优劣性。

区别:checked异常,如果不放在try内部,或者不声明抛出,就无法通过编译。而runtime异常不放在try块中,或者声明抛出却可以通过编译。(有一定猜测的成分。)。
还有猜测一点:runtime异常会自动由调用者处理吗?

7、说出为什么要使用throws。以及如何使用,在什么情况使用。尝试自己写一个dog类,并且构造器抛出IOException

8、p383的,将会导致方法签名与异常耦合的含义是什么?

9、说出方法重写时声明抛出异常的限制是什么?

10、说出如何自定义异常类。并且自己写一个自定义异常类。

11、练习catch和throw同时使用,多个方法协作处理一个异常。并说出这样子的作用和什么时候应该使用?

12、尝试使用System.err.println,并说出他的作用,以及其他的比如.out.还有一些,进行练习。

13、说出java6和java7中catch和throw同时使用的区别。

14、说出异常链的含义和作用以及怎么实现。说出异常转译是什么意思。

15、p388提到了23种设计模式,除了职责链模式(异常链),其他的22种分别是什么?有什么作用?怎么实现?

16、Throwable的子类构造器,cause参数是什么?

17、了解java的异常跟踪栈,并且设计例子,练习普通的跟踪栈和线程中的跟踪栈。并尝试一层层的throws后,异常跟踪栈会怎么显示?p391的看到更加复杂的异常跟踪栈是print会还是不print会?

18、说出成功的异常处理,应该实现的目标是什么?如何实现这些目标?

19、为什么不要过度使用异常?什么是过度使用异常?

20、理解异常处理机制的初衷。以及如何合理的使用异常处理机制。

21、为什么不要使用过度庞大的try块?

22、为什么要避免使用Catch All语句。

23、为什么不要忽略捕获到的异常?应该怎么处理它们?

要练习java文档的类

1、p374的那个图里的类都看看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

细水长流cpu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值