错误异常类层次结构:
1. Exception(异常) :是程序本身可以处理的异常。
2. Error(错误): 是程序无法处理的错误。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,一般不需要程序处理。
3. 检查异常(编译器要求必须处置的异常) : 除了Error,RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。这种异常的特点是Java编译器会检查它,也就是说,当程序中可能出现这类异常,要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过。
4. 非检查异常(编译器不要求处置的异常): 包括运行时异常(RuntimeException与其子类)和错误(Error)。
异常机制可以使程序中的异常处理代码和正常业务代码分离,提供程序的健壮性。
5. java的异常机制主要依赖于try,catch,finally,throw,和throws五个关键字。
- try关键字后紧跟一个花括号括起来的代码块,简称try块,里面放置可能引发异常的代码
- catch后对应异常类型和一个代码块,用于表明该catch块用于处理这种类型的代码块,多个catch块后还可以跟一个finally块。
- finally块用于回收try块里打开的物理资源,异常机制会保证finally块总被执行。
- throws关键字主要在方法签名中使用,用于声明该方法可能抛出的异常
- throw可以单独作为语句使用,抛出一个具体的异常处理。