我无法从文档中看出这两者之间的区别是什么:
Socket.EndReceive Method (IAsyncResult, SocketError)
Socket.EndReceive Method (IAsyncResult)
第一个输出错误而第二个输出错误吗?
修改
更具体一点:如果抛出错误,输出参数将是假的。这表明SocketError版本不会抛出错误。然而它说它抛出相同的错误类。这是否意味着它会抛出所有相同的错误?也许有错误发生但不会被抛出。也许您需要使用此功能来获取所有错误。我需要两组错误处理 - 一个用于throw,一个用于输出参数?一种功能优于另一种吗?
答案 0 :(得分:0)
基于文档,它们都表现相同。唯一的区别是进行错误处理时的额外参数。
基于笔记
如果收到SocketException,请使用SocketException.ErrorCode属性获取特定的错误代码。获取此代码后,请参阅MSDN库中的Windows套接字版本2 API错误代码文档,以获取错误的详细说明。
您似乎可以使用Socket.EndReceive Method (IAsyncResult, SocketError)
上作为参考传递的SocketError
enum对象来获取有关出错的信息,而无需检查 Windows套接字版本2 API错误代码文档