多个返回语句,无编译器错误
2022-08-31 15:06:19
这是一个面试问题:
public class Demo {
public static void main(String[] args) {
System.out.println(foo());
}
static String foo() {
try {
return "try ...";
} catch (Exception e) {
return "catch ...";
} finally {
return "finally ..."; //got as result
}
}
}
我的问题是为什么没有编译时错误。当我在我的块中有 return 语句时,它必然会从 返回而不是和块。我试图用选项编译此代码,它给出了警告。finally
finally
try
catch
-Xlint
warning: [finally] finally clause cannot complete normally