java - 使用 throw 关键字时出现编译错误

标签 java exception throw

示例代码: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/

相关文章:

java - Spring Security with Java Config - 允许 GET 方法/拒绝 POST 方法(403),没有任何明显的原因

java - 使用 Java 创建多页 Tiff

java - 覆盖 Java 单元测试中的异常语句

c++ - 为什么为 noexcept 和 throw() 生成的目标代码在 C++11 中是相同的?

java - int[][] 有什么问题

java - 从普通 POJO 自动创建 Java Web 服务

c# - c#.net 中 throw 和 throw ex 的区别

java - 如何运行循环直到不生成异常

matlab - 何时在 Matlab 中使用 assert()?

javascript - JSON.parse ("") 因脚本错误而失败但不在 try/catch 中