首页 技术 正文
技术 2022年11月14日
0 收藏 337 点赞 2,859 浏览 1536 个字

1. 本周学习总结

1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容。

2. 书面作业

1.题目5-1

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

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

空指针,数组越界,转化类型出错等,这3种不需要捕获,在写代码的时候多加注意。

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

除了Error与RuntimeException及其子类以外的异常都是需要进行捕获处理的。

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

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

2.2 实验总结

需要注意的就是在捕获异常后需要i–,来确保数组的正常。

3.throw与throws

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

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

抛出NumberFormatException异常。而且通过自己的改进可以更明确的告知调用者哪里出错。

4.函数题

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

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

子类的异常需在父类的异常前捕获,例如子类NullPointerException的捕获在父类Exception之前。

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

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关闭资源。

try{
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));
} catch (Exception e) {
System.out.println(e);
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
System.out.println(e);
}
}
}

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

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

3. 码云上代码提交记录

3.1. 码云代码提交记录

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,076
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,552
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,400
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,176
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,812
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,894