Checked Exception是编译时还是运行时?

Checked Exception is compile time or runtime?

我读到有关已检查的异常,它由编译器检查,但仅在运行时检查。

是否正确?

如果是正确的,那又如何呢?

运行时异常不是检查异常。检查异常是 class Exception 和除 RuntimeException.

之外的所有子 classes

检查异常需要在您的代码中处理或在方法的签名中声明,否则您的代码将无法编译。不需要处理或声明运行时异常。

已检查异常在编译时进行检查,以确保您正在处理它们,方法是捕获它们或声明包含方法 throws 异常。

在运行时,已检查异常和未检查异常之间没有区别:JVM 对它们的处理方式相同。所以"checked-ness"纯粹是一个编译时的概念。