Exception实例是已检查还是未检查的异常?

时间:2019-04-14 12:42:15

标签: java exception

在Java中,除ThrowableError的实例以外,所有检查的例外都是RuntimeException的实例。更具体地说,如果某个类扩展了Exception,但没有扩展RuntimeException,则它将被视为检查异常。

这就是为什么对于catch块捕获受检查的异常的原因,编译器会检查是否可以从try块中抛出该异常,如果不是这种情况,则会报告编译器错误:< / p>

import java.io.IOException;

public class ExceptionTest5 {

    public static void main(String[] args) {
        try{

        } catch (IOException e) {

        }
    }
}


ExceptionTest5.java:10: error: exception IOException is never thrown in body of corresponding try statement

如果RuntimeException在catch块中则不会报告。

但是,如果ExceptionThrowable位于catch块中,则没有未报告任何内容,这使它们的行为就像未经检查的异常一样-与这篇文章的第一句话,我在许多不同的来源中都找到了。

那么Exception是检查还是未检查的异常?

0 个答案:

没有答案