201521123108 《Java程序设计》第九周学习总结

1. 本周学习总结

201521123108 《Java程序设计》第九周学习总结

2. 书面作业

Q1.常用异常

题目5-1

1.1 截图你的提交结果(出现学号)

答:201521123108 《Java程序设计》第九周学习总结

1.2 自己以前编写的代码中经常出现什么异常、需要捕获吗(为什么)?应如何避免?

答:经常出现空指针异常。需要。细心认真打代码。

1.3 什么样的异常要求用户一定要使用捕获处理?

答:非RuntimeException异常类或者其子类的的异常都要声明捕捉。

Q2.处理异常使你的程序更加健壮

题目5-2

2.1 截图你的提交结果(出现学号)

答:201521123108 《Java程序设计》第九周学习总结

2.2 实验总结

答:实验较简单。上课认真,就能打出来

Q3.throw与throws

题目5-3

3.1 截图你的提交结果(出现学号)

答:201521123108 《Java程序设计》第九周学习总结

3.2 阅读Integer.parsetInt源代码,结合3.1说说抛出异常时需要传递给调用者一些什么信息?

答:当抛出异常时如果使用的是传值或是传递引用,C++将复制出抛出对象的一个拷贝。也就是说,即使通过引用来捕获异常,也不能在catch块中修改抛出对象;仅仅能修改抛出对象的拷贝。对抛出对象进行强制复制拷贝,这个限制有助于我们理解调用参数传递与抛出捕获异常的另一个差异:抛出捕获异常运行速度比调用参数传递要慢。

Q4.函数题

题目4-1(多种异常的捕获)

4.1 截图你的提交结果(出现学号)

答:201521123108 《Java程序设计》第九周学习总结

4.2 一个try块中如果可能抛出多种异常,捕获时需要注意些什么?

答:函数调用者或抛出异常者与被调用者或异常捕获者之间的类型匹配的过程不同。调用参数传递是允许隐含类型转换的,而抛出捕获异常是不允许的。

Q5.为如下代码加上异常处理

byte[] content = null;
FileInputStream fis = new FileInputStream("testfis.txt");
int bytesAvailabe = fis.available();//获得该文件可用的字节数
if(bytesAvailabe>0){
content = new byte[bytesAvailabe];//创建可容纳文件大小的数组
fis.read(content);//将文件内容读入数组
}
System.out.println(Arrays.toString(content));//打印数组内容

5.1 改正代码,让其可正常运行。注1:里面有多个方法均可能抛出异常。注2:要使用finally关闭资源。

5.2 使用Java7中的try-with-resources来改写上述代码实现自动关闭资源.

Q6.重点考核:使用异常改进你的购物车系统(未提交,得分不超过6分)

举至少两个例子说明你是如何使用异常处理机制让你的程序变得更健壮。

说明要包含2个部分:1. 问题说明(哪里会碰到异常)。2.解决方案(关键代码)


Q7.选做:JavaFX入门

如果未完成作业1、2的先完成1、2。贴图展示。如果已完成作业1、2的请完成作业3。内有代码,可在其上进行适当的改造。建议按照里面的教程,从头到尾自己搭建。

Q8.选做:课外练习

JavaTutorial中Questions and Exercises

练习总结

3. 码云上代码提交记录

题目集:异常

3.1. 码云代码提交记录

在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

上一篇:HTML5开发入门经典教程和案例合集(含视频教程)


下一篇:20155306 白皎 《网络攻防》 EXP8 Web基础