StreamSocket.ConnectAsync会抛出哪些例外?

时间:2016-12-14 10:27:53

标签: c# sockets exception-handling uwp

到目前为止,我发现如果主机名无效,我会得到Exception with HResult = -2147013895,如果主机名正常,但它拒绝连接尝试,我得到System.Runtime.InteropServices。 COMException,HResult = -2147014835。没有InnerException可用。因为异常类型非常通用,所以我必须捕获异常,分析HResult并重新抛出此异常是否特定于网络问题。似乎我需要找出在我的代码中处理哪些HResult代码(所有与网络相关的)并重新抛出其他内容(内存不足等)。

是否有任何特定于网络问题的HResult代码列表?或者可能有另一种更好的方法来区分在StreamSocket.ConnectAsync调用期间可以抛出的网络特定异常和一般异常?

1 个答案:

答案 0 :(得分:0)

看看here,但是如果未列出错误代码,那么您很不幸。

-2147014835 gives me

  

WSAECONNREFUSED(包装)
  无法建立连接,因为目标计算机主动拒绝了该连接。

-2147013895 gives me

  

WSAHOST_NOT_FOUND(包装)
  尚无此类主机。

更多错误代码可以在这里列出,但是我在这里列出了您的错误代码。也许您会找到一份专门的网络和常规例外清单,但这应该可以帮助您开始。