为什么算术异常在java中是未选中的异常



为什么算术异常是未经检查的异常,为什么我们在 Java 中定义了 2 种类型的异常未检查和已检定?

选中的异常是在编译时检查的异常。如果方法中的某些代码引发已检查的异常,则该方法必须处理异常,或者必须使用 throws 关键字指定异常。

import java.io.*;
class Main {
public static void main(String[] args) {
FileReader file = new FileReader("C:\test\a.txt");
BufferedReader fileInput = new BufferedReader(file);
// Print first 3 lines of file "C:testa.txt"
for (int counter = 0; counter < 3; counter++) 
System.out.println(fileInput.readLine());
fileInput.close();
}
}

未选中是在编译时未选中的异常。在C++中,所有异常都是未选中的,因此编译器不会强制处理或指定异常。程序员要文明,指定或捕获异常。

+-----------+
| Throwable |
+-----------+
/         
/           
+-------+          +-----------+
| Error |          | Exception |
+-------+          +-----------+
/  |              / |        
_________/        ____/        
+------------------+
unchecked       checked   | RuntimeException |
+------------------+
/   |    |   |  
_________________/
unchecked

相关内容

最新更新