作业10-异常
1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容。
本次PTA作业题集异常
函数题-多种异常的捕获
题集题目6-1
5.1 结合6-1代码,回答:一个try块中如果可能抛出多种异常,且异常之间可能有继承关系,捕获时需要注意些什么?
需要将子类异常放在父类的前面
假设 父类异常在子类异常前面执行
try{ ... }catch(Exception e){ System.out.println(e);//执行,输出Exception异常的其它异常子类 }catch(ArrayIndexOutOfBoundsException e){ System.out.println(e);//不会执行 }catch(NumberFormatException e){ System.out.println(e);//不会执行 }
5.2 一个try块中如果可能抛出多种异常,使用Java8的多重异常捕获语法需要注意些什么?
try块中后要跟多个catch块,catch中的异常不能够有继承关系
6.为如下代码加上异常处理
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));//打印数组内容
6.1 改正代码,让其可正常运行。注1:里面有多个方法均可能抛出异常。注2:要使用finally关闭资源。
6.2 结合题集6-2代码,要将什么样操作放在finally块?为什么?使用finally关闭资源需要注意一些什么?
finally里面的语句 是一定被执行的
fis的关闭,不能直接关闭fis,需要捕获fis是否是空指针异常,才能关闭,否则运行时程序崩溃
6.3 使用Java7中的try-with-resources来改写上述代码实现自动关闭资源。简述这种方法有何好处?
java7 提供了自动尝试关闭资源的语法 可以直接关闭 也不必再去判断是否 是null 也避免关闭时产生的其他异常
7.面向对象设计作业-图书馆管理系统(分组完成,每组不超过3个同学)
登录lib.jmu.edu.cn,对图书进行搜索。然后登录图书馆信息系统,查看我的图书馆。如果让你实现一个图书借阅系统,尝试使用面向对象建模。
7.1 该系统的使用者有谁?
借书者 以及图书馆内部管理员
7.2 主要功能模块(不要太多)及每个模块的负责人。下周每个人要提交自己负责的模块代码及运行视频。
借书者
1.登录
2.查阅图书信息
3.借阅书本
4.归还书本
5.退出系统
7.3 该系统的主要的类设计及类图(可用)
7.4 你准备如何存储图书信息、解决信息、读者信息等。
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图
3.2 截图PTA题集完成情况图
需要有两张图(1. 排名图。2.PTA提交列表图)
3.3 统计本周完成的代码量
需要将每周的代码统计情况融合到一张表中。
选做:4. 拓展
课外练习
JavaTutorial中Questions and Exercises
练习总结
课外阅读
任选下面一篇文章阅读,列举出几点自己能理解的异常处理最佳实践。
Best Practices for Exception Handling
Exception-Handling Antipatterns Blog
The exceptions debate
选做:5.使用Java解决实际问题(考勤自动统计)
协会签到,每次都是使用纸质签名表进行签到,回去后再手动统计。如果有多张签名表,需要手动统计。现在保持纸质签名方式不变,负责人员每次将纸质签名表待会后手动录入系统,这样就可实现数据的自动统计。实现这样的系统需包含什么功能模块?尝试编码实现?
原文:http://www.cnblogs.com/HYSOUL/p/7892587.html