如何判断是否使异常检查或未检查?



我正在阅读Java中检查和未检查异常以及何时使用它们:

底线是:如果客户端可以合理地期望从异常中恢复,则将其设置为检查异常。如果客户端无法从异常中恢复,则将其设置为未检查异常。

客户端无法恢复的一个例子是除以零,其中他们可以恢复的是FileNotFound异常。不过我还没看出有什么不同。为什么可以捕获一个并记录错误,但不能捕获另一个并记录错误?是什么使某物具有合理的可恢复性?难道不能在所有情况下捕获错误(从而恢复)吗?

引号的含义是:如果客户端代码不能从问题中恢复,它需要让异常传播到更高层。如果您为此使用受控异常,则需要在所有调用层声明受控异常,而没有任何好处。

换句话说:如果期望异常通过层传播,则使其未检查。只有当调用者可以对它做些什么时才检查它。

当异常被检查并发生时,很容易排除异常的原因。如果我们不使用受控异常,就很难找出异常的原因。受控异常给出了预期异常的概念。

相关内容

  • 没有找到相关文章

最新更新