知识点
| 焦点内容
| 重点
|
异常概念
| 代码运行中出现的不正常现象,分为错误(Error)和异常(Exception)
| 异常≠语法错误,异常是运行时题目而非语法题目
|
异常体系结构
| Throwable(可抛的)为顶级父类,包含Error和Exception两个子类
| Error代表巨大错误(如内存溢出),Exception代表可处理题目
|
异常分类
| 编译时期异常(查抄型异常) vs 运行时期异常(非查抄型异常)
| 编译异常:代码编译时报错;运行异常:运行时才报错
|
编译时期异常
| Exception类及其子类(除RuntimeException分支)
| 典范特性:调用方法时底层抛出,如SimpleDateFormat的parse()
|
运行时期异常
| RuntimeException及其子类(如数组越界异常)
| 典范特性:编译不报错但运行时报错
|
异常处理机制
| 异常未被处理时会主动向上抛出,终极由JVM默认处理
| 处理流程:打印异常堆栈 → 停止程序实验
|
典范错误示例
| 递归调用导致栈溢出(StackOverflowError)
| Error不可恢复,必须重构代码
|
典范异常示例
| 数组越界(ArrayIndexOutOfBoundsException) vs 日期分析异常(ParseException)
| 运行异常不逼迫处理,编译异常必须处理
|