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) {
    ...
}

829945-20160403221057004-676998490.png

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/502/28/8
第二周100/1502/48/16
第三周250/4002/610/26用git上传代码
第四周300/7002/812/38用wc查看代码行数
第五周100/8001/910/48

参考资料

转载于:https://www.cnblogs.com/Christen/p/5350971.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值