我正在从基于 C# 表单的应用程序调用 Web 服务。
ServReturnType obj = ServProxyClass(int i, int k);
我有可能找回异常。例外情况可能是服务根本没有连接,接收失败,但原始消息已发送,或介于两者之间。然后,我需要根据抛出的异常(类型或消息或两者)做出决定,以便接下来执行两个操作之一。
try
{
ServReturnType obj = ServProxyClass(int i, int k);
}
catch (WebException ex)
{
DoAction1();
}
catch(SocketException ex)
{
DoAction2();
}
catch(SoapException ex)
{
DoAction1()
}
问题是,我对后续操作的选择取决于第一次调用是否在失败之前到达服务器。我怎样才能找到所有可能抛出的异常的列表,以及它们可能意味着什么,因为这是框架中的所有代码。我查看了 MSDN 文档,发现 SoapHttpClientProtocol.Invoke 可以抛出 SoapException,但是该方法调用的方法会引发 System.Net.WebExceptions。所以我需要一个整个调用堆栈的列表,它可以抛出什么,以及这意味着什么。
有任何想法吗?
更新 1
达林,你的回答或多或少地证实了我的怀疑,即我想要的东西并没有真正的意义。我选择先做更多的侦探工作,然后用它来决定下一步做什么。不幸的是,在这种情况下,由于我们正在处理信用卡,所以到底发生了什么以及我们是否发送数据真的很重要。