java异常类

时间:2021-04-02 10:58:08   收藏:0   阅读:23

异常类的继承结构

object

Throwable

Error (所有只要发生,不可处理,退出JVM,程序执行终止)

VirtualMachineError
StackOverflowError
IOError

Exception

ExceptionSubClass(Exception的直接子类,也称编译时异常/受检异常/受控异常)
RuntimeException(运行时异常/未受检异常/非受控异常)
  1. NullPointException

  2. ClassCastException(类转换异常)

  3. illegalArgumentException

    • NumberFormatException(数字格式化异常)

       

异常处理方式(两种)

  1. 异常上抛:方法声明位置后面使用Throwable关键字,抛给上一级异常。

  2. 异常捕捉:try...catch自行捕捉异常

    注意:异常一直上抛至main方法。调用者为JVM,此时程序终止,退出JVM.

  3. try 结构体中负责发现异常,catch(){}结构体中负责捕捉异常。finally结构体中负责执行必须执行的代码(无论异常是否发生)

关于try...catch...finally

技术分享图片

技术分享图片

  1. (java常见面试题)final finally finalize 三者之间的区别:

    final :关键字,修饰方法/实例变量/类(final修饰的类无法继承,final修饰的方法无非是覆盖,final修饰的变量无法覆盖)

    finally:关键字,和try联合使用

    finalize:标识符,是一个方法名。它是Object类中的一个方法。该方法由JVM垃圾回收器GC负责调用。

4.自定义异常类:

  1. throw和throws二者之间的区别:

throw:手动抛出异常对象,后面跟随的是一个对象名

throws:抛出异常类,用于方法声明位置后,可添加多个,用逗号隔开。表示当前对象无法处理该类异常,上抛。

  1. 获取异常提示信息:e.getMessage()

打印堆栈异常追踪信息:e.printStackTrace

  1. 重写之后的方法不能抛出比重写之前的方法抛出更多/更宽泛的异常

原文:https://www.cnblogs.com/a-n-yan/p/14609077.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!