首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOException对TimeoutException

IOException对TimeoutException
EN

Stack Overflow用户
提问于 2011-11-22 17:20:29
回答 3查看 2.3K关注 0票数 3

假设您设计了一个System.IO.Stream扩展MyStream,它的Read方法可以超时,那么您宁愿抛出哪种异常类型:

  • System.IO.IOException (如System.Net.Sockets.NetworkStream) or
  • System.TimeoutException (如System.IO.Ports.SerialPort)或
  • (如System.Net.Sockets.NetworkStream)?
EN

回答 3

Stack Overflow用户

发布于 2011-11-22 17:27:49

如果例外情况是Stream将“超时”,那么我将亲自使用TimeoutException。这是非常清楚的,如果这是根本原因的话,也是非常恰当的。

IOExceptionNetworkStream使用,但含义不同。在这种情况下,这通常是因为基础套接字已经关闭,这防止了读/写发生.

票数 3
EN

Stack Overflow用户

发布于 2011-11-22 17:31:28

您使用的是TimeoutException,它最准确地传达了实际发生的情况。

IOException更多的是一个通用的例外;如果在读取Stream的底层备份存储时发生了什么事情,而没有一个特定的异常,那么我希望会有一个IOException

TimeoutException是这里的标准,所以就这样吧。

票数 1
EN

Stack Overflow用户

发布于 2019-11-13 05:46:02

当网络流超时时,IOException.InnerExceptionSocketExceptionIOException.InnerException.SocketErrorCodeSocketError.TimedOut

我希望它只是抛出一个TimeoutException,所以我不需要测试这个奇怪的情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8230909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档