为什么 FileNotFoundException 是 CheckedException?
我知道FileNotFound是检查异常,但尽管它是,只有在运行时才会发生此异常。它更像是算术异常(未选中)。
无论是选中还是取消选中,异常只会在运行时发生。
我的问题是为什么我们将相关内容称为已检查异常?FileNotFound/IO/DB
请分享您的宝贵想法:)
我知道FileNotFound是检查异常,但尽管它是,只有在运行时才会发生此异常。它更像是算术异常(未选中)。
无论是选中还是取消选中,异常只会在运行时发生。
我的问题是为什么我们将相关内容称为已检查异常?FileNotFound/IO/DB
请分享您的宝贵想法:)
始终仅在运行时遇到的异常,在处理异常时会产生差异。
选中或未选中意味着是在编译时强制处理它,还是仅在运行时遇到它时才会被识别。
如果检查了异常,则意味着编译器可以确定异常是否可能发生。并且每当您编译它时,您将被迫处理已检查的异常,并且通过这样做,运行时异常的机会将减少。
在文件处理过程中,编译器不会检查文件是否存在,它只是检查您是否已处理fileNotFoundException,因为一旦您处理文件,遇到此异常的几率非常高,您应该在代码中处理它。对于算术异常,在编译时无法找到它。因此,它不受检查。
所有异常只能在运行时:)和 异常 之间的区别在于,编译器强制您处理异常或将它们添加到方法签名中,从而有效地强制调用方执行相同的操作(句柄/重写)。Checked
Unchecked
checked