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