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

时间:2015-05-10 07:38:33

标签: java exception

此声明/示例对已检查和未检查的异常是否有效?

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

 public class UncheckedException {

    public static void main(String[] args) {

            int value = 10/0;
        }
    }

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

public class CheckedException {

    public static void main(String[] args) {

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

        }
    }

1 个答案:

答案 0 :(得分:4)

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

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

  • ArithmeticException始终是未经检查的例外,因为它会延伸RuntimeException

  • IOException是一个经过检查的例外,因为它不会延伸RuntimeException(或Error)。

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

冒着重复自己的风险:

  

未经检查的异常:在编译时未检查的异常称为未经检查的异常。

     

Checked Exception:在编译时检查的异常称为Checked exceptions。

这些都是不正确的定义。

另请参阅:Java: checked vs unchecked exception explanation