运行时异常与检查时异常的区别

在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java
应用程序传输的任何问题的共性。 Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java
异常处理的重要子类,各自都包含大量子类。

Java中的异常分类:
运行时异常与检查时异常的区别_第1张图片
运行时异常:都是RuntimeException类及其子类异常,如NullPointerException(空指针异常),IndexOutOfBoundsException(数组下标越界)等等,这些异常都属于不检查异常,程序可以捕获处理,也可以不处理。这些异常通常时程序的逻辑出现了错误,当出现此类异常时,应该分析程序的逻辑是否正确
运行时异常的特点是Java编译器不会检查它,也就是说,当程序中出现此类错误时,即使没有对异常进行显式处理,也能够编译通过。
检查时异常(非运行时异常):是非RuntimeException及其子类的异常,都属于Exception及其子类。这类异常,是程序必须进行处理的异常,否则不能被编译,即需要显示处理。
总结:
运行时异常:间接或直接继承RuntimeException,且不需要显式处理
检查时异常:未间接或直接继承RuntimeException,且需要显式处理
处理异常的方法:
1.使用try-catch-finally处理
2.使用throw,throws抛出处理
注意:
1.在try-catch-finally中,一个try可以有多项操作,有多个对应分支,顺序由上往下,遵循就近原则;catch括号中所使用的类必须按从小到大书写。
2.finally中的语句一定会执行
3.try用于检查其包裹的语句中是否出现异常,若出现则进入catch语句中,若没有则跳出。

你可能感兴趣的:(java)