Javatpoint标志
Javatpoint标志

Java try-catch块

Java尝试块

Java试一试块用于包含可能引发异常的代码。它必须在方法中使用。

如果try块中的特定语句发生异常,则块代码的其余部分将不会执行。因此,建议不要将代码保存在不会抛出异常的try块中。

Java try块后面必须跟catch块或finally块。

Java try-catch语法

try-finally块的语法

Java捕获块

Java catch块通过在参数中声明异常类型来处理异常。声明的异常必须是父类异常(即exception)或生成的异常类型。但是,较好的方法是声明生成的异常类型。

catch块只能在try块之后使用。您可以使用多个catch块和一个try块。

Java try-catch块的内部工作

Java try-catch块

JVM首先检查异常是否被处理。如果不处理异常,JVM提供一个默认的异常处理程序,执行以下任务:

  • 输出异常描述。
  • 打印堆栈跟踪(发生异常的方法的层次结构)。
  • 导致程序终止。

但如果应用程序程序员处理异常,则应用程序的正常流程将得到维护,即执行其余代码。

没有异常处理的问题

让我们试着理解如果不使用try-catch块会出现什么问题。

示例1

TryCatchExample1.java

现在就测试

输出:

java.lang. arithmeexception: / by 0

如上例所示,代码的其余部分没有执行(在这种情况下,代码的其余部分没有打印语句)。

在异常之后可能有100行代码。如果不处理异常,则异常下面的所有代码都不会执行。

异常处理解决方案

让我们看看java try-catch块对上述问题的解决方案。

示例2

TryCatchExample2.java

现在就测试

输出:

java.lang. arithmeexception: /其余代码为零

如上例所示,代码的其余部分执行,即代码的其余部分打印语句。

示例3

在本例中,我们还将代码保存在一个try块中,该块不会抛出异常。

TryCatchExample3.java

现在就测试

输出:

java.lang. arithmeexception: / by 0

在这里,我们可以看到,如果try块中发生异常,其余的块代码将不会执行。

示例4

在这里,我们使用父类异常处理异常。

TryCatchExample4.java

现在就测试

输出:

java.lang. arithmeexception: /其余代码为零

示例5

让我们看一个在异常时打印自定义消息的示例。

TryCatchExample5.java

现在就测试

输出:

不能除以0

例子6

让我们看一个在catch块中解决异常的示例。

TryCatchExample6.java

现在就测试

输出:

25

例7

在本例中,除了try块,我们还将异常代码包含在catch块中。

TryCatchExample7.java

现在就测试

输出:

java.lang. arithmeexception: / by 0

在这里,我们可以看到catch块不包含异常代码。因此,在try块中包含异常代码,并仅使用catch块处理异常。

示例8

在本例中,我们使用不同类型的异常类(ArrayIndexOutOfBoundsException)处理生成的异常(算术异常)。

TryCatchExample8.java

现在就测试

输出:

java.lang. arithmeexception: / by 0

例9

让我们看一个处理另一个未检查异常的示例。

TryCatchExample9.java

现在就测试

输出:

arrayindexoutofboundsexception:剩下的10段代码

示例10

让我们看一个处理受控异常的例子。

TryCatchExample10.java

现在就测试

输出:

文件保存成功

下一个话题 java中的多重捕获块





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

反馈


帮助他人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


B.Tech / MCA






Baidu
map