异常处理机制】Java异常处理try-catch-finally的执行过程?_第2页回答

2021-11-11 09:39发布

11条回答

1.程序首先执行可能发生异常的try语句块。

2.如果try语句块没有出现异常则执行完后跳至finally语句块执行;如果try语句出现...

3.catch语句块可以有多个,分别捕获不同类型的异常。

4.catch语句块执行完成后程序会继续执行finally语句块


樱田妮妮NiNi
3楼 · 2021-11-17 09:29

try里的东西就跟平时一样,
当try里的程序执行时出现错误,并且catch里有相应的错误捕捉,执行相应的catch。catch可以写一个,也可以写几个,
finally就是最后的意思,一般情况下,不管怎样,finally里面的内容都会被执行,不过是在整个try-catch语句最后才执行的

722
4楼 · 2022-03-24 11:15

try-catch-finally程序块的执行流程以及执行结果比较复杂。基本执行过程如下:


程序首先执行可能发生异常的try语句块。如果try语句没有出现异常则执行完后跳至finally语句块执行;如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。catch语句块可以有多个,分别捕获不同类型的异常。catch语句块执行完后程序会继续执行finally语句块。finally语句是可选的,如果有的话,则不管是否发生异常,finally语句都会被执行。


需要注意的是即使try和catch块中存在return语句,finally语句也会执行。是在执行完finally语句后再通过return退出。



相关问题推荐

  • 回答 19

    1)作用不同: throw用于程序员自行产生并抛出异常; throws用于声明在该方法内抛出了异常2) 使用的位置不同: throw位于方法体内部,可以作为单独语句使用; throws必须跟在方法参数列表的后面,不能单独使用。3)内容不同: throw抛出一个异常对象,且只能是...

  • 回答 16

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。Java编译...

  • 回答 10

    Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java 中,每个异常都是一个对象,它是Throwable 类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获...

  • 回答 5

    OutOf MemoryError这种错误可以细分为多种不同的错误,每种错误都有自身的原因和解决办法,如下所示:java.lang.OutOfMemoryError: Java heap space 错误原因:此OOM是由于JVM中heap的最大值不满足需要。 解决方法:1) 调高heap的最大值,即-Xmx的值调大。...

  • 回答 6

    问题的根本原因是工程中某个jar包的版本(jar包编译时的所用的jdk版本)高于工程build path中jdk的版本,这个是不兼容的! 编程中遇到此异常Unsupported major.minor version 52.0(根据版本号,这里可以为其他数值,52是1.8jdk jar包与 1.8以下低版本jdk不匹配)...

没有解决我的问题,去提问