概述
异常与错误:
错误:程序出现不正常的情况,不需要处理
异常:程序本身可以处理的问题
异常类来源图:
其中Throwable类为最上层(子类可直接使用其的成员方法),以下是其成员方法:
异常分类
异常处理
try…catch 显性捕获异常
throws与throw的使用(向外层调用者抛出异常)
“throws 异常类名” 应用于方法签名中(即方法名声明时),调用者必须显性捕获并处理该异常或者继续抛出异常。
“throw 异常类名” 应用于方法体内,用于抛出某种异常实例
自定义异常类:
- 自定义异常类必须继承于Exception或者RuntimeException类
- 继承Exception的话:那么自定义的异常类就是一个编译期异常,如果方法内部抛出了编译器异常,就必须处理这个异常,要么Try….catch或者throws
继承RuntimeException的话:那么这个自定义的异常类就是一个运行期异常,无需处理,直接抛,直接交给虚拟机处理(中断处理)- 自定义异常类需要定义两个构造方法:一个无参构造、一个有参构造。
使用场景: