为什么这不能编译(用 java 8 和 java 10 试过)?它会产生缺少返回语句的错误。
public class CompilerIssue {
public boolean run() {
throwIAE();
// Missing return statement
}
public void throwIAE() {
throw new IllegalStateException("error");
}
}
最佳答案
java 编译器不知道
抛出IAE
总是会抛出异常所以它
假设你最终会到达终点
运行
方法和,
当这种情况发生时,
需要返回值。
关于抛出 RuntimeException 时,Java 期望返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52044362/