异常
运行期间出现的错误,而不是编译时的语法错误
异常类型:
- 非检查性异常
- 检查性异常
异常处理机制
- 积极处理:可能引发异常的语句封入在 try 块内,而处理异常的相应语句则封入在 catch 块内。
- 消极处理:在方法声明中包含 throws 子句,通知潜在调用者,如果发生了异常,必须由调用者处理。
JDK 7中,单个catch块可以处理多个异常类型。
finally异常处理机制
- finally语句放在try …catch语句后
- fianlly语句中的代码块不管异常是否被捕获总是要执行
throws关键字
位置:函数参数列表的后面
- throws关键字后面,可以跟多个异常,中间用逗号分割
- throws关键字抛出的异常,由调用该函数的函数处理。
自定义异常类
用户自定义的异常类应为 Exception 类(或者Exception 类的子类)的子类
方法调用堆栈
后进先出:方法A调用方法B的时候,只有方法B先完成后,方法A才完成。先执行的方法总是后完成,后执行的方法先完成,类似于数据结构中的堆栈--后进先出,我们称之为方法调用堆栈。