NEW个对象 > JAVA > 当前页面

java异常分类

2025-01-18 NEW个对象

java异常分类

在Java中,异常错误被分为三大类:严重错误(ERROR),检查型异常(Checked Exceptions)和非检查型异常(Unchecked Exceptions)。这两类异常的主要区别在于它们如何被处理和传播。


严重错误(Error)


Error是Throwable的直接子类之一,它代表严重的问题,通常是由Java虚拟机(JVM)或运行时环境抛出的。Error类表示的错误条件通常是不可恢复的,应用程序不应该尝试捕获或处理这些错误。


检查型异常(Checked Exceptions):


检查型异常是编译时异常,这意味着编译器会强制要求程序员处理这些异常。如果一个方法抛出了检查型异常,那么调用这个方法的地方必须要么捕获这个异常并处理,要么在方法签名中声明抛出该异常。

检查型异常通常用于表示那些预期之外的情况,但程序员可以合理地预期并处理这些情况,例如文件不存在(FileNotFoundException)、网络连接失败(IOException)等。

检查型异常是Exception类或其子类,但不包括RuntimeException及其子类。


非检查型异常(Unchecked Exceptions):


非检查型异常是运行时异常,编译器不强制要求程序员处理这些异常。如果一个方法抛出了非检查型异常,调用这个方法的地方可以捕获并处理,也可以不处理。

非检查型异常通常用于表示程序错误,如逻辑错误、错误的API使用等。这些异常往往是不可恢复的,因为它们通常表示代码中的缺陷。

非检查型异常包括RuntimeException及其子类,如NullPointerException、ArrayIndexOutOfBoundsException、ArithmeticException等。

上一篇:cglib与jdk代理的区别

下一篇:BigDecimal

相关文章

  • cglib与jdk代理的区别

    JDK 动态代理: 只支持接口代理。它通过反射机制生成一个实现了指定接口的代理类。 代理对象只能调用接口中定义的方法。 CGLib 动态代理: 通过继承方式生成代理类。它可以代理没有实现接口的类。 代理对象可以调用类中的所有方法(除了final方法)。

    NEW个对象 2025-01-18

  • 面向对象三大特性 :封装、继承、多态

    面向对象三大特性 :

    NEW个对象 2025-01-10

  • OOM问题排查过程?

    OOM问题排查过程? 1、分析内存的使用情况 jstat -gc pid 1000,查看内存使用情况

    NEW个对象 2024-10-26

推荐文章