gpt4 book ai didi

java - 在包含 return 的 try/catch block 之后执行语句

转载 作者:搜寻专家 更新时间:2023-11-01 01:21:32 26 4
gpt4 key购买 nike

需要考虑三种情况:

案例一:

public class Test {

public static void main(String[] args) {
System.out.println(1);
System.out.println(2);
return;
System.out.println(3);
}
}

案例二:

public class Test {

public static void main(String[] args) {

try{
System.out.println(1);
return;
}finally{
System.out.println(2);
}
System.out.println(3);
}
}

案例三:

public class Test {

public static void main(String[] args) {
try{
System.out.println(1);
return;
}catch(Exception e){
System.out.println(2);
}
System.out.println(3);
}
}

我明白,如果情况 1 语句 System.out.println(3) 无法访问,这就是编译器错误的原因,但为什么编译器在情况 3 中不显示任何错误。

另请注意,在情况 2 中它甚至是编译器错误。

最佳答案

案例三:

如果引发异常,那么您的所有代码都可用,并且它会打印 1,2,3。这就是为什么您在那里没有任何错误(无法访问的代码)的原因。

案例 2:

在这种情况下,无论如何你都不会到达 System.out.println(3),因为你总是从 main 方法返回。

关于java - 在包含 return 的 try/catch block 之后执行语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23892578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com