Javatpoint标志
Javatpoint标志

Java中的异常处理

Java中的异常处理是有权势的人吗处理运行时错误的机制这样才能维持应用程序的正常流程。

在本教程中,我们将学习Java异常,它的类型,以及受控异常和非受控异常之间的区别。

Java中的异常是什么?

字典的意义:Exception是一种不正常的状态。

在Java中,异常是中断程序正常流程的事件。它是一个在运行时抛出的对象。

什么是异常处理?

异常处理是一种处理运行时错误的机制,例如ClassNotFoundException, IOException, SQLException, RemoteException等。

异常处理的优势

异常处理的核心优势是维护应用程序的正常流程.异常通常会中断应用程序的正常流程;这就是为什么我们需要处理异常。让我们考虑一个场景:

假设Java程序中有10条语句,在语句5处发生异常;其余的代码将不会被执行,即语句6到语句10将不会被执行。然而,当我们执行异常处理时,其余的语句将被执行。这就是为什么我们使用异常处理Java

你知道吗?
  • 已检查异常和未检查异常之间的区别是什么?
  • 代码int data=50/0;后面发生了什么?
  • 为什么使用多个捕获块?
  • 是否有可能当finally块不执行?
  • 什么是异常传播?
  • throw和throws关键字有什么区别?
  • 使用方法重写异常处理的4条规则是什么?

Java异常类的层次结构

Java .lang. throwable类是Java Exception层次结构的根类,由两个子类继承:Exception和Error。Java Exception类的层次结构如下所示:

异常处理层次结构

Java异常的类型

主要有两种类型的异常:已检查的和未检查的。错误被认为是未检查的异常。然而,根据Oracle,有三种类型的例外,即:

  1. 检查异常
  2. 未经检查的异常
  3. 错误
异常处理层次结构

已检查异常和未检查异常的区别

1)检查例外

除了RuntimeException和Error之外,直接继承Throwable类的类称为受控异常。例如,IOException, SQLException等。已检查异常在编译时进行检查。

2)未检查例外

继承RuntimeException的类称为未检查异常。例如,arithmeexception, NullPointerException, ArrayIndexOutOfBoundsException等。未检查的异常不在编译时检查,但在运行时检查。

3)错误

错误不可恢复。一些错误的例子是OutOfMemoryError, VirtualMachineError, AssertionError等。

Java异常关键字

Java提供了5个用于处理异常的关键字。下表描述了每一个。

关键字 描述
试一试 “try”关键字用于指定应该放置异常代码的块。这意味着我们不能单独使用try block。try块后面必须跟catch或finally。
“catch”块用于处理异常。它必须在try块之前,这意味着我们不能单独使用catch块。后面可以跟着finally block。
最后 “finally”块用于执行程序的必要代码。不管是否处理异常,都会执行该命令。
"throw"关键字用于抛出异常。
抛出 "throws"关键字用于声明异常。它指定方法中可能出现异常。它不会抛出异常。它总是与方法签名一起使用。

Java异常处理示例

让我们看一个Java异常处理的例子,在这个例子中,我们使用try-catch语句来处理异常。

JavaExceptionExample.java

现在就测试

输出:

线程主java.lang中出现异常。算术异常:/由零剩余的代码…

在上面的例子中,100/0引发了一个arithmeexception,该异常由try-catch块处理。

Java异常的常见场景

给出了一些可能发生未检查异常的场景。具体如下:

1)发生算术异常的场景

如果我们用任何数字除以零,就会出现一个ArithmeticException。

2)发生NullPointerException的场景

如果我们有一个空值在任何变量,对变量执行任何操作都会抛出NullPointerException。

3)发生NumberFormatException的场景

如果任何变量或数字的格式不匹配,则可能导致NumberFormatException。假设我们有一个字符串有字符的变量;将此变量转换为数字将导致NumberFormatException。

4)发生ArrayIndexOutOfBoundsException的场景

当数组超过其大小时,会发生ArrayIndexOutOfBoundsException异常。可能有其他原因导致ArrayIndexOutOfBoundsException。考虑下面的陈述。

Java异常索引

  1. Java Try-Catch块
  2. Java多重捕获块
  3. Java嵌套尝试
  4. Java Finally Block
  5. Java Throw关键字
  6. Java异常传播
  7. Java Throws关键字
  8. Java Throw与Throws
  9. Java Final vs Finally vs Finalize
  10. 使用方法重写的Java异常处理
  11. Java自定义异常

下一个话题 Java Try捕获块





Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助他人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


B.Tech / MCA






Baidu
map