异常整理(JAVA基础)

目录

一、Error(错误)

[二、 Exception(异常)](#二、 Exception(异常))

[(一)检查型异常(Checked Exceptions)](#(一)检查型异常(Checked Exceptions))

[(二)非检查型异常(Unchecked Exceptions,Runtime Exceptions)](#(二)非检查型异常(Unchecked Exceptions,Runtime Exceptions))

三、总结


在Java中,异常(Exception)和错误(Error)是程序执行期间可能遇到的两大类问题,它们都继承自Throwable类。以下是Java中可能出现的几类主要异常和错误的详细归纳:

一、Error(错误)

Error类及其子类表示的是Java运行时环境的内部错误和资源耗尽的情况,这些错误通常是严重的,且大多数情况下应用程序无法处理或恢复。常见的Error类型包括:

  • VirtualMachineError :当JVM出现问题时抛出,如StackOverflowError(堆栈溢出错误)和OutOfMemoryError(内存溢出错误)。

    • StackOverflowError:当应用程序的递归调用过深,导致调用栈溢出时抛出。

    • OutOfMemoryError:当JVM的堆内存不足,无法为对象分配内存时抛出。

  • AWTError:与AWT(抽象窗口工具集)相关的错误,通常在AWT环境出现问题时抛出。

  • InternalError:指示JVM内部发生了错误。

二、 Exception(异常)

Exception类及其子类表示的是程序本身可以处理的异常情况。根据异常是否在编译时被检查,Exception被进一步分为检查型异常(checked exceptions)和非检查型异常(unchecked exceptions,也称为运行时异常,runtime exceptions)。

(一)检查型异常(Checked Exceptions)

检查型异常是编译器要求必须处理的异常。常见的检查型异常包括:

  • IOException:输入输出异常,表示在输入或输出操作中发生了错误。

  • SQLException:SQL异常,表示在数据库操作中出现了错误。

  • ClassNotFoundException:类找不到异常,当尝试加载类时,找不到指定的类。

  • FileNotFoundException :文件未找到异常,是IOException的一个子类,表示找不到指定的文件。

(二)非检查型异常(Unchecked Exceptions,Runtime Exceptions)

非检查型异常通常是由程序的逻辑错误引起的,如空指针引用、数组越界等。这些异常在编译时不会被检查,因此编译器不会强制要求程序处理它们。常见的非检查型异常包括:

  • NullPointerException :空指针异常,尝试在需要对象的地方使用null

  • ArrayIndexOutOfBoundsException:数组越界异常,访问数组的索引超出了其边界。

  • ArithmeticException:算术异常,如整数除零。

  • IllegalArgumentException:非法参数异常,表示向方法传递了一个不合法或不适当的参数。

  • ClassCastException:类型转换异常,尝试将对象强制转换为不是其实例的子类。

  • IllegalStateException:非法状态异常,表示对象的状态不允许进行某个操作。

  • NumberFormatException:数字格式异常,尝试将字符串转换为数字时,字符串的格式不正确。

此外,还有一些其他的非检查型异常,如IllegalArgumentException的子类IllegalArgumentException(注意这里实际上是一个重复,但可能是为了强调不同类型的非法参数异常)、IllegalAccessException(没有访问权限异常)、InstantiationException(实例化异常)等。

三、总结

Java中的异常和错误是程序开发过程中不可避免的一部分,它们帮助开发者识别和处理程序中可能出现的问题。通过合理地使用异常处理机制,可以提高程序的健壮性和可靠性。

注意:可参考(异常机制(JAVA基础)_java检查异常-CSDN博客


文章制作不易,如果有帮助的话,还希望能给个点赞和关注支持一下,谢谢大家!🙏🙏🙏

相关推荐
sniper_fandc3 分钟前
SpringBoot系列—入门
java·spring boot·后端
代码的余温1 小时前
Maven引入第三方JAR包实战指南
java·maven·jar
pianmian15 小时前
类(JavaBean类)和对象
java
我叫小白菜5 小时前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言
Albert Edison6 小时前
【最新版】IntelliJ IDEA 2025 创建 SpringBoot 项目
java·spring boot·intellij-idea
超级小忍6 小时前
JVM 中的垃圾回收算法及垃圾回收器详解
java·jvm
weixin_446122466 小时前
JAVA内存区域划分
java·开发语言·redis
勤奋的小王同学~7 小时前
(javaEE初阶)计算机是如何组成的:CPU基本工作流程 CPU介绍 CPU执行指令的流程 寄存器 程序 进程 进程控制块 线程 线程的执行
java·java-ee
TT哇7 小时前
JavaEE==网站开发
java·redis·java-ee
2401_826097627 小时前
JavaEE-Linux环境部署
java·linux·java-ee