为什么arithmeticexception是java中未经检查的异常

时间:2018-05-24 11:20:17

标签: java arithmeticexception

为什么arithmeticexception是未经检查的异常,为什么我们在Java中定义了两种类型的异常Unchecked和Checked?

1 个答案:

答案 0 :(得分:1)

已检查的异常是在编译时检查的异常。如果方法中的某些代码抛出已检查的异常,则该方法必须处理异常,或者必须使用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:\test\a.txt"
        for (int counter = 0; counter < 3; counter++) 
            System.out.println(fileInput.readLine());

        fileInput.close();
    }
}

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

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

                                         unchecked