检测异常与非检测异常,try-catch-finally、throws、throw

一、检测异常与非检测异常

下图是异常的简单分类

image

  1. RuntimeException:运行时异常,也叫非检测异常,所有的运行时异常都是RuntimeException类及其子类,该类异常发生在程序运行时,编译器不会强制我们进行处理,但我们应该避免。常见的运行时异常有:FileNotFoundException,SQLException,ClassNotFoundException

  2. CheckedException:检测异常,检测异常继承自Exception,除Error和运行时异常之外的都叫检测异常,编译器会强制我们进行处理,否则不能编译。常见的检测异常有:NullPointerException(空指针),IndexOutOfBoundsException(下标越界),ClassCastException(类型强制转换异常)

二、try-catch-finally、throws、throw

  1. try-catch-finally:finally是可选部分,finally内的代码一定会被执行

  2. try-catch-finally与throws:是真正将异常处理掉了,而throws是将异常抛给调用者,没有真正处理

  3. throws与throw

    throws是一种异常处理方式,声明在方法的声明处

    throw抛出一个异常对象,生成异常对象的过程,声明在方法体内

posted @ 2021-08-01 11:59  oneMoe  阅读(90)  评论(0编辑  收藏  举报