我读到了Java中的检查异常和未检查异常,以及何时使用它们:
的底线是:如果可以合理地期望客户端从异常中恢复,则将其设置为已检查的异常。如果客户端无法从异常中恢复,则将其设置为未经检查的异常。
客户端不能被期望从其中恢复的一个例子是除以零,其中他们可以恢复的是一个FileNotFound异常。不过,我看不出有什么区别。为什么您可以捕获一个错误并记录一个错误,但不能捕获另一个错误并记录错误?是什么使某些东西可以合理地恢复?在任何情况下都不能捕捉到错误(从而恢复)吗?
发布于 2021-03-04 06:51:05
引用的意思是:如果客户端代码无法从问题中恢复,则需要让异常传播到更高层。如果为此使用检查异常,则需要通过所有调用层声明选中的异常,而不会带来任何好处。
若要重新表述引号:如果期望异常在层中传播,则不对其进行检查。只需检查来电者是否真的能做些什么。
发布于 2021-03-04 05:49:59
当检查异常并发生异常时,很容易排除异常的原因。如果我们不使用检查异常,就很难找出异常的原因。选中异常提供了预期异常的概念。
https://stackoverflow.com/questions/66469208
复制相似问题