我很难解释这两个(看似简单的)句子的含义:
“已检查的异常由编译器在编译时检查”
这是什么意思?编译器是否检查是否捕获了所有(在代码中引发的)检查异常?
“未检查的异常是在运行时而不是在编译时检查的”
“检查”在这句话中是什么意思?我以为未检查的异常只是在运行时抛出的?
最佳答案
在编译时
有两种类型:
已检查:表示方法是否抛出所需的异常
未处理的检查异常:如果该方法未引发所需的异常,则会导致编译错误。
在运行时
称为“未经检查的异常”在运行时发生,不需要显式处理。RuntimeException
及其子类或Error及其子类都属于Unchecked。
关于java - 检查(未检查)异常(Java),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17436891/