微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何判断异常是检查还是不检查?

如何解决如何判断异常是检查还是不检查?

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

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

客户端不能恢复的一个例子是除以零,他们可以恢复的东西是 FileNotFound 异常。不过我还没有看到区别。为什么您可以捕获一个并记录错误,但不能捕获另一个并记录错误?什么使某些东西可以合理恢复?您不能在所有情况下捕获错误(从而恢复)吗?

解决方法

引用的意思是:如果客户端代码无法从问题中恢复,则需要让异常传播到更高层。如果为此使用受检异常,则需要通过所有调用层声明受检异常,而没有任何好处。

重新表述这句话:如果异常预计会通过层传播,请取消检查。只检查调用者是否真的可以做些什么。

,

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。