gpt4 book ai didi

Java:处理程序对于已检查的异常是必需的

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:58:57 26 4
gpt4 key购买 nike

java 文档说,检查异常必须指定一个可以“捕获”异常的处理程序,或者在方法声明中将其抛出。但是,如果我这样做,例如:

public class DivZero{
public static void main(String[] args){
int a=10;
int[] b={1,2,3,4,0};
for (int i=0;i<b.length;i++){
System.out.println(a/b[i]);
}
}
}

即使没有“try-catch”或“throws”声明也能正常工作。它抛出一个 java.lang.ArithmeticException。那么,这不是强制性的吗?编译器以相同的方式隐式抛出合适的 Java“Throwable”类。是这样吗?

最佳答案

ArithmeticException延伸RuntimeException因此它不是检查异常。检查异常是从 Exception 继承的异常但不是来自 RuntimeException

引用 JLS, 11.1.1. The Kinds of Exceptions :

[...] checked exception classes are all subclasses of Throwable other than RuntimeException and its subclasses and Error and its subclasses.

关于Java:处理程序对于已检查的异常是必需的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12229590/

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