We believe that writing is about content, about what you want to say – not about fancy formatting.
我们坚信写作写的是内容,所思所想,而不是花样格式。
— Ulysses for Mac
Java第7天上午
上午主要讲了异常处理
学习目标:
- 理解异常概念
- 运用try块、catch块和finally块处理异常
- 运用多重catch块处理异常
- 运用嵌套try catch块处理异常
- 运用throw 和 throws处理异常
- 运用java编写和使用自定义异常
生活中的异常:
什么是异常:
异常类的层次结构:
- Throwable
- Exception
- Error
记住常见的异常:
- Exception
(异常层次结构的根类) - ArithmeticException
(算术错误情形,如以零作除数) - ArrayIndexOutOfBoundException
(数组大小小于或大于实际的数组大小) - NullPointerException
(尝试访问 null 对象成员) - ....
异常处理:
进行异常处理:(通过5个关键字实现)
- try catch finally
-
throw throws
异常处理
try catch finally:
异常处理块的一般形式:
try catch 情况一:
try中不会产生异常则不进入catch而执行后面的语句
try catch 情况一示例:
学会看异常信息:
Paste_Image.png
try catch 情况二:
try中产生了异常 进入catch中 执行完catch中语句后再执行后面的代码段5
try catch 情况二示例:
try catch 情况三:
如果异常类型不匹配,则不进入相应catch内,程序中断运行。
try catch 情况三示例:
由情况三 引出finally:
- 不管有木有出现异常,finally块中代码都会执行
- 当try和catch中有return时,finally仍然会执行
- finally是在return后面的表达式运算后执行的,所以函数返回值是在finally执行前确定的
多重catch块:
注意多重catch块 异常 顺序:
catch异常类 要先catch子类后父类
所以 这样错:
catch顺序错
(IOException 是 FileNotFoundException的父类)
下面才对:
public class T3 {
public static void main(String[] args) {
try{
FileReader read = new FileReader("d:/test.txt");
char a = (char)read.read();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
下午做了一些练习:
每日一练:
课堂作业:
作业点我查看
课外练习:
课外作业点我查看
拓展阅读:
1 - Java异常体系结构
2 - 深入理解java异常处理机制
世界上所有的追求都是因为热爱
一枚爱编码 爱生活 爱分享的IT信徒
— hongXkeX
网友评论