📜  Java异常

📅  最后修改于: 2020-09-26 14:32:23             🧑  作者: Mango

在本教程中,我们将学习Java中的异常。我们将介绍Java中的错误,异常和不同类型的异常。

异常是程序执行期间发生的意外事件。它影响程序指令的流程,这可能导致程序异常终止。

出于多种原因可能会发生异常。他们之中有一些是:

  • 无效的用户输入
  • 设备故障
  • 网络连接丢失
  • 物理限制(磁盘内存不足)
  • 代码错误
  • 打开一个不可用的文件

Java异常层次结构

这是Java中异常层次结构的简化图。

Exception Hierarchy in Java

从上图中可以看到, Throwable类是层次结构中的根类。

请注意,层次结构分为两个分支:错误和异常。


失误

错误表示不可恢复的情况,例如Java虚拟机(JVM)内存不足,内存泄漏,堆栈溢出错误,库不兼容,无限递归等。

错误通常是程序员无法控制的,我们不应该尝试处理错误。


例外情况

该程序可以捕获并处理异常

当方法中发生异常时,它将创建一个对象。该对象称为异常对象。

它包含有关异常的信息,例如,异常的名称和说明以及发生异常时程序的状态。

在下一个教程中,我们将学习如何处理这些异常。在本教程中,我们现在将重点介绍Java中不同类型的异常。


Java异常类型

异常层次结构还具有两个分支: RuntimeExceptionIOException


1. RuntimeException

由于编程错误而发生运行时异常 。它们也称为非检查异常

这些异常不在编译时检查,而是在运行时检查。一些常见的运行时异常是:

  • API使用不当IllegalArgumentException
  • 空指针访问(缺少变量的初始化) NullPointerException
  • 越界数组访问ArrayIndexOutOfBoundsException
  • 将数字除以0- ArithmeticException

您可以这样考虑。 “如果是运行时异常,那是您的错”。

如果在使用变量之前检查了变量是否已初始化,则不会发生NullPointerException

如果针对数组范围测试数组索引,则不会发生ArrayIndexOutOfBoundsException


2. IOException

IOException也称为检查异常 。它们由编译器在编译时检查,并提示程序员处理这些异常。

受检查的异常的一些示例是:

  • 尝试打开不存在的文件会导致FileNotFoundException
  • 尝试读取文件末尾

现在我们已经了解了异常,我们将在下一个教程中学习如何处理异常。