代码示例:

public void test() {
  try {
    oneMethod();
    System.out.println('one');
  } catch (Exception x2) {
    System.out.println('two');
  } finally {
    System.out.println('finally');
  }
}

假设 oneMethod() 方法在运行过程中未抛出任何异常,以上代码的正确输出是什么?

A、one B、two C、three D、one finally

正确答案:A、one

解释:

根据代码的执行流程,输出过程如下:

  1. 代码尝试调用 oneMethod() 方法。
  2. 由于 oneMethod() 方法在运行过程中未抛出任何异常,因此会继续执行 try 代码块内的语句。
  3. 在 try 代码块中,执行 System.out.println('one') 语句,输出 'one'。
  4. 由于没有发生异常,所以不会执行 catch 代码块内的语句。
  5. 最后,无论是否发生异常,都会执行 finally 代码块中的语句。
  6. 在 finally 代码块中,执行 System.out.println('finally') 语句,输出 'finally'。

因此,正确的输出是 A、one。

Java 中 try-catch-finally 代码块执行顺序及输出结果

原文地址: https://www.cveoy.top/t/topic/1wP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录