gpt4 book ai didi

java - HttpTimeoutException 和 TimeoutException 之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:45 24 4
gpt4 key购买 nike

有人可以帮助理解 HttpTimeoutException 和 TimeoutException 之间的区别。

根据 HttpTimeoutException 的定义

Thrown when a response is not received within a specified time period.

TimeoutException

Exception thrown when a blocking operation times out. Blocking operations for which a timeout is specified need a means to indicate that the timeout has occurred. For many such operations it is possible to return a value that indicates timeout; when that is not possible or desirable then TimeoutException should be declared and thrown.

最佳答案

嗯,Exception 是 Java 中发出问题信号的一种方式。您始终可以使用 any any 来显示问题,但这是使用有助于理解问题的异常的好方法。

您询问的两个 Exception 都像所有 Exception 一样扩展 Exception 。为什么不总是抛出 Exception?因为对于较差的开发人员来说,接收 NumberFormatExceptionNullPointerException 比接收基本的 Exception 更有意义。

好的,让我们看一下 TimeoutExceptionHttpTimeoutException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.util.concurrent.TimeoutException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
java.net.http.HttpTimeoutException

我们可以看到的第一个区别是,HttpTimeoutException 扩展了 IOExceptionTimeoutException 扩展了基本的 Exception .它告诉我们什么?

当问题是 http 客户端或服务器响应时间过长时,我们应该使用 HttpTimeOutException,因为它是 I(nput)O(utput) 问题。

当问题是计算时间太长时,应该使用 TimeoutException,但不是在 http 连接的情况下。就个人而言,即使它是键盘,我也不会将它用于 I(nput)O(utput) 花费太长时间。我会声明我自己的 Exception,它会扩展 IOException 并将其称为 IOTimeoutException 并使用它让 future 的读者更清楚。

希望对您有所帮助。欢迎在评论中进一步提问 - 我会在需要时更新我的​​答案。

关于java - HttpTimeoutException 和 TimeoutException 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39743413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com