已检查vs未经检查的异常的Java示例

Java example for checked vs unchecked exception

本问题已经有最佳答案,请猛点这里访问。

此语句/示例对于已检查和未检查的异常是否有效?

未经检查的例外情况:
在编译时未检查的异常称为未经检查的异常。
例:

1
2
3
4
5
6
7
 public class UncheckedException {

    public static void main(String[] args) {

            int value = 10/0;
        }
    }

检查异常:
在编译时检查的异常称为已检查异常。
例:

1
2
3
4
5
6
7
8
9
10
11
12
public class CheckedException {

    public static void main(String[] args) {

        try {
                int value = 10/0;
            } catch (Exception e) {
                System.out.println("Caught" + e);
            }

        }
    }


不,它不是一个有效的例子/插图。 在这两种情况下,抛出的异常都是未经检查的异常。

已检查异常与未经检查的异常之间的区别是异常类。

  • ArithmeticException始终是未经检查的异常,因为它扩展了RuntimeException

  • IOException是一个已检查的异常,因为它不会扩展RuntimeException(或Error)。

您执行或不执行异常的事实不会改变其性质。

冒重复自己的风险:

Unchecked Exception: The exceptions that are not checked at compile time are called unchecked exceptions.

Checked Exception: The exceptions that are checked at compile time are called Checked exceptions.

这些都是不正确的定义。

另请参阅:Java:已检查vs未经检查的异常说明