20145109 《Java程序设计》第五周学习总结
20145109 《Java程序设计》第五周学习总结
教材学习内容总结
Chapter 8 Exception Handling
try, catch
All Exceptions are packed. If willing, 'try' to 'catch' instances, which are representative of exceptions, and deal with them.
try {
...
} catch (Exception ex) {
...
}

Exception Inheritance Architecture
Exception are packed as throwable. Throwable includes Error and Exception. Error and its sub class represents serious system error and no dealing. As to mistakes in program design, Exception or its sub class are recommended. It's also called Exception Handling.
Generally speaking, if some method can throw Throwable or subclass-instance, you must use 'try', 'catch' to handle it, except from Error and RuntimeException.
Multi-catch
try {
...
} catch (IOException | InterruptedException | ClassCastException e) {
e.printStackTrace();
}
catch? throws ?
If exception happens without sufficient info to deal with it when programming, we can throw exception. Thus, it is the cilent that handle it.
public class FileUtil {
public static String readFile(String name) throws FileNotFoundException {
...
}
}
Actually, when exception happens, we can handle what we can handle with 'try' 'catch', the left part we 'throw' to the client.
public class FileUtil {
public static String readFile(String name) throws FileNotFoundException {
StringBuilder text = new StringBuilder();
try {
Scanner console = new Scanner(new FileInputStream(name));
while (console.hasNext()) {
text.append(console.nextLine()).append('\n');
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
throw ex;
}
return text.toString();
}
}
** Inheritance ** :
if the parent class declare some exception, the sub class overrides this method properly in these ways:
- no declaration of throwing any exception by keyword 'throws'
- throws some exceptions in the parent-class method
- throws sub exceptions in the parent-class method
But the following is forbidden:
- throws other exceptions with no declaration in the parent class
- throws parent exceptions in the parent-class method
Stack Trace
The easiest way, is printStackTrace() .
The stack trace infomation in the console will show the type of exception. The origin is on the top.
assert
In some running time or situation, a state must be or not be. It is called assertion.
finally
No matter whether exception happens in 'try', if there's 'finally' block, it will be certain to execute.
try {
...
} finally {
...
}
Try-With-Resources
try(Scanner console = new Scanner(new FileInputStream(name))) {
...
}
Interface java.lang.AutoCloseable
Chapter 9 Collection & Map
java.util.List:
record the order of every instance and get them.
java.util.Set:
no repeat of the instances.
java.util.Queue:
yes, it's queue.
教材学习中的问题和解决过程
代码调试中的问题和解决过程
其他(感悟、思考等,可选)
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 50/50 | 2/2 | 8/8 | |
| 第二周 | 100/150 | 2/4 | 8/16 | |
| 第三周 | 250/400 | 2/6 | 10/26 | 用git上传代码 |
| 第四周 | 300/700 | 2/8 | 12/38 | 用wc查看代码行数 |
| 第五周 | 100/800 | 1/9 | 10/48 |
参考资料
20145109 《Java程序设计》第五周学习总结的更多相关文章
- 201521123025<java程序设计>第五周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...
- Java程序设计第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...
- 20145109《Java程序设计》第二周学习总结
20145109 <Java程序设计>第二周学习总结 教材学习内容总结 Variable : naming rule : Camel case no default value e.g : ...
- 20145109《Java程序设计》第一周学习总结
20145109 <Java程序设计>第一周学习总结 教材学习内容总结 About JVM, JRE, JDK JVM包含于JRE中,用于运行Java程序.JDK用于开发Java程序,包含 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
随机推荐
- 修改Chem 3D模型的化学键属性的方法有哪些
很多的用户在绘制化学图形过程中发现很多的图形都是立体结构的,这个时候就需要用Chem3D,它是ChemOffice的核心组件之一,在绘制立体模型和计算化学数据方面具有不可替代的作用.虽然ChemDra ...
- TypeScript 基本类型(一)
1.boolean 布尔值 true/false let isDone: boolean = false; 2.number 数字:和JavaScript 一样,TypeScript 里的所有数字都是 ...
- Oracle菜鸟之怎样创建和删除表空间
1.创建暂时表空间 创建表空间时,dbf文件一般存放在datafile文件的存放文件夹下(通常是在实例名命名的文件夹以下) 能够通过 select * from v$datafile;查看全部数据文件 ...
- jeesite学习笔记(一) 项目框架
JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台. 在github上,对jeesite平台有详细的介绍,这里稍作整理,给出项目的内置功能 ...
- poj3372
Candy Distribution Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5868 Accepted: 327 ...
- java的list转map
companyList = companyManager.listByCompanyId(companyIds);departList = departManager.findByTree(depar ...
- Django设置中文,和时区、静态文件指向
#========================================================== # 设置时区 注意注释上面的:LANGUAGE_CODE.TIME_ZONE.U ...
- 手动爬虫之京东笔记本栏(ptyhon3)
import urllib.request as ur import urllib.error as ue import re # 目标网址 url = 'https://list.jd.com/li ...
- Linux上添加服务(htttpd,samba等等)
service httpd restart 出现 httpd:unrecognized service 错误 vi /etc/rc.d/rc.local #在/etc/rc.d/rc.local中 ...
- 标准编译安装(cmake make)
为什么要编译安装?因为根据需求可以个性化定制功能. 关键是阅读cmakelist,看都有哪些依赖,都有哪些选项可用,哪些选项是自己可以配置的. 一般流程: mkdir build cd build c ...