一、什么是异常
1.程序错误类型 2.异常的分类 3.深入认识异常
二、异常的继承结构
三、常见的异常收集
四、虚拟机对异常的两种处理方式
1.捕获异常 2.声明和抛出异常
五、自定义异常
六、扩展
1.嵌套try-catch 2.throw代替返回语句
一、什么是异常
异常也就是指程序运行时发生错误,而异常处理就是对这些错误进行处理和控制。
异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。
通俗地说:为了让程序继续执行下去,而不至于中断。
1.程序错误类型
编译错误
程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置。
运行时错误
程序在执行时,运行环境发现了不能执行的操作。
逻辑错误
程序没有按照预期的逻辑顺序执行。
2.异常的分类
运行时异常
RunTimeException及其子类,可以不要强制捕获或声明。
对于运行时异常,我们可以不对其处理,推荐不对其处理。
非运行时异常
非RunTimeException及其子类,大多直接继承自Exception,必须强制性捕获或声明。
3.深入认识异常
Java的小括号中可以写什么
Java小括号中可以写的 |
---|
要强制类型转换的类型 |
判断条件 if() while() |
形参列表 声明方法时 |
传递实参 方法调用时 |
异常捕获声明 catch(异常类 e) |
我们可以发现,异常捕获声明的小括号里的内容与声明方法时的形参列表极其相似。
在出现异常时,谁给e实例化的呢
java的异常机制:
- 建立大量的用于表述某种异常的类,组成一个以Throwable为首的异常家族。
- 当程序执行出现异常时,立即创建相应异常类的对象。
- 使用catch(异常类 e)捕获创建的异常对象。
二、异常的继承结构
java中所有的异常类都会直接或间接地继承自Exception类。
三、常见的异常收集
异常 | 说明 |
---|---|
java.lang.NullPointerException | 空指针异常:对象为空,并且调用相应方法 |
java.lang.ClassCastException | 类型转换异常,向下转型中经常发生 |
java.text.ParseException | 时间格式化异常,SimpleDateFormart中经常发生 | </