java 中的异常类有哪些?
Java中的异常类主要分为两大类:Exception
(异常)和Error
(错误)。Exception
类是java.lang.Exception
的子类,而Error
类代表了编译和系统的错误,不允许捕获。以下是一些常见的Java异常类:
- NullPointerException:当应用程序试图访问空对象引用时发生。14
- ArithmeticException:算术异常,通常发生在除法运算中除数为0的情况。4
- InterruptedException:当线程在等待、休眠或处理过程中被中断时发生。5
- InstantiationException:当我们尝试创建类的对象但未能实例化时发生。5
- FileNotFoundException:找不到文件或输入/输出异常,是
IOException
的子类。7 - ClassNotFoundException:类找不到异常,通常在加载类时抛出。7
除了这些,Java还定义了许多其他的异常类,它们都是Throwable
类的子类。Throwable
有两个重要的子类:Exception
和Error
,它们都包含大量子类。异常和错误的区别在于异常是可以被捕获和处理的,而错误通常是虚拟机问题,程序不能捕获。69
在Java中,异常类还可以进一步细分为编译时异常和运行时异常。编译时异常是指在程序编写过程中,Java编译器会检查代码,如果出现异常,必须进行处理,否则程序无法通过编译。Exception
的子类中,除了RuntimeException
类及其子类外,其他子类都是编译时异常。815
处理Java中的异常类通常使用try-catch
语句块来捕获并处理异常。在try
块中放置可能抛出异常的代码,当异常发生时,程序会跳转到catch
块去处理异常。在catch
块中可以根据具体的异常类型进行适当的处理。11
异常是程序在运行过程中发生的意外情况,如除数为0、访问下标不存在的数组元素等。异常是一种信号,用于向调用者传递信息,表示程序发生了意外情况。程序运行时一旦出现了异常,将会导致程序立即终止,异常之后的代码将无法执行。1012
NullPointerException1 | 空指针异常 当应用程序试图访问空对象引用时发生。 |
ArithmeticException4 | 算术异常 通常发生在除法运算中除数为0的情况。 |
InterruptedException5 | 中断异常 当线程在等待、休眠或处理过程中被中断时发生。 |
InstantiationException5 | 实例化异常 尝试创建类的对象但未能实例化时发生。 |
FileNotFoundException7 | 文件未找到异常 需要进行手工捕获的受检查异常。 |
ClassNotFoundException7 | 类找不到异常 在加载类时抛出,即类路径下不能加载指定的类。 |
Error2 | 编译和系统错误 Error类代表编译和系统错误,不可捕获。 |
RuntimeException2 | 运行时异常 运行时异常,如NullPointerException,无需显式捕获。 |
Exception2 | 异常类 除了Error和RuntimeException外,其他异常需显式捕获或声明。 |
ArithmeticException4 | 算术异常 除数为0时引发。 |
NullPointerException4 | 空指针异常 访问空对象引用时引发。 |
InterruptedException5 | 中断异常 线程等待、休眠或处理时被中断引发。 |
InstantiationException5 | 实例化异常 无法实例化类时引发。 |
FileNotFoundException7 | 文件未找到异常 尝试打开不存在的文件时引发。 |
ClassNotFoundException7 | 类未找到异常 加载类时找不到指定类引发。 |
NullPointerException1 | 空指针异常 当应用程序试图访问空对象引用时发生。 |
ArithmeticException4 | 算术异常 通常发生在除法运算中除数为0的情况。 |
InterruptedException5 | 中断异常 当线程在等待、休眠或处理过程中被中断时发生。 |
InstantiationException5 | 实例化异常 尝试创建类的对象但未能实例化时发生。 |
FileNotFoundException7 | 文件未找到异常 是IOException的子类,需要手工捕获。 |
ClassNotFoundException7 | 类找不到异常 在加载类时抛出,即类路径下不能加载指定的类。 |