Checked Exception是编译时还是运行时?
Checked Exception is compile time or runtime?
我读到有关已检查的异常,它由编译器检查,但仅在运行时检查。
是否正确?
如果是正确的,那又如何呢?
运行时异常不是检查异常。检查异常是 class Exception
和除 RuntimeException
.
之外的所有子 classes
检查异常需要在您的代码中处理或在方法的签名中声明,否则您的代码将无法编译。不需要处理或声明运行时异常。
已检查异常在编译时进行检查,以确保您正在处理它们,方法是捕获它们或声明包含方法 throws
异常。
在运行时,已检查异常和未检查异常之间没有区别:JVM 对它们的处理方式相同。所以"checked-ness"纯粹是一个编译时的概念。
我读到有关已检查的异常,它由编译器检查,但仅在运行时检查。
是否正确?
如果是正确的,那又如何呢?
运行时异常不是检查异常。检查异常是 class Exception
和除 RuntimeException
.
检查异常需要在您的代码中处理或在方法的签名中声明,否则您的代码将无法编译。不需要处理或声明运行时异常。
已检查异常在编译时进行检查,以确保您正在处理它们,方法是捕获它们或声明包含方法 throws
异常。
在运行时,已检查异常和未检查异常之间没有区别:JVM 对它们的处理方式相同。所以"checked-ness"纯粹是一个编译时的概念。