示例代码:1
public class ClassTest {
public static void main(String[] args) {
throw new java.lang.ArithmeticException();
}
}
----以上代码没有编译错误,编译器不要求处理异常
示例代码:2
public class ClassTest {
public static void main(String[] args) {
throw new java.lang.Exception();
}
}
--编译器希望使用 try-catch 或 throws 来处理异常。
任何人都可以解释编译器的这种行为。我认为这是因为我们需要特别提及 XYZException 类(除了 Exception 类)。
最佳答案
ArithmeticException
是一个RuntimeException
,编译器不会检查。 Exception
会被检查,因此如果违反规则(例如不处理抛出异常的方法),将阻止编译。
关于java - 使用 throw 关键字时出现编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37577317/