请问有人能帮忙理解 HttpTimeoutException 和 TimeoutException 之间的区别吗?
根据 HttpTimeoutException 的定义
在指定的时间内未收到响应时抛出。
当阻塞操作超时时抛出异常。为具有超时指定的阻塞操作需要一种方法来指示已发生超时。对于许多这样的操作,可以返回指示超时的值;当无法或不希望这样做时,则应声明并抛出 TimeoutException。
请问有人能帮忙理解 HttpTimeoutException 和 TimeoutException 之间的区别吗?
根据 HttpTimeoutException 的定义
在指定的时间内未收到响应时抛出。
当阻塞操作超时时抛出异常。为具有超时指定的阻塞操作需要一种方法来指示已发生超时。对于许多这样的操作,可以返回指示超时的值;当无法或不希望这样做时,则应声明并抛出 TimeoutException。
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
扩展了 IOException
,而 TimeoutException
扩展了基本的 Exception
。这告诉我们什么?HttpTimeOutException
,因为这是 I(nput)O(utput) 问题。TimeoutException
。个人认为,即使是键盘输入导致 I(nput)O(utput) 时间过长,也不应使用它。我会声明自己的 Exception
,它会扩展 IOException
并称之为 IOTimeoutException
,以便让未来的读者更清楚地理解。