我想知道是否有人知道可能是一篇好的文章或博客文章,关于当一个程序在套接字发送/接收时阻塞时可以抛出什么类型的异常,更重要的是,它们何时会抛出或不抛出的详细信息 . MSDN在这个例子中只是如此有用,对我来说,找到一篇文章对我来说更有教育意义,试着调用所有这些错误来自己了解它们 . 我的意思的一些例子:

ThreadInterruptedException - 仅在阻塞时抛出此异常 . 因此,如果您正在从套接字读取,我相当肯定它会在它尝试阻止并抛出此异常之前读取整个缓冲区 . 这是一个手动调用的异常,使用thread.interrupt;我只是用它来处理行为不端的套接字,或者关闭一个阻塞的只读线程以避免需要进行轮询 .

SocketException - 通常抛出的内容 . 如果套接字关闭而另一个线程正在读/写中,则可以抛出此异常 . 如果在线程被阻塞时网络连接丢失,等待新接收,是否会抛出此异常?

我很好奇可能出错的细节,因为我有一个伪异步套接字库,它具有相当数量的读写,有相当数量的代码来处理重新连接等等 . 我想知道任何阻塞线程可能出错的一切 .