我在Web服务中成功抛出了一些soap异常。我想捕获异常并访问被异常调用的字符串和ClientFaultCode。以下是我在Web服务中的一个例外情况的示例:
throw new SoapException("You lose the game.", SoapException.ClientFaultCode);
在我的客户端中,我尝试从可能引发异常的Web服务运行该方法,并且我抓住了它。问题是我的catch块没有做任何事情。见这个例子:
try
{
service.StartGame();
}
catch
{
// missing code goes here
}
如何访问使用抛出异常调用的字符串和ClientFaultCode? p>
答案 0 :(得分:11)
您可能希望捕获特定的例外情况。
try
{
service.StartGame();
}
catch(SoapHeaderException)
{
// soap fault in the header e.g. auth failed
}
catch(SoapException x)
{
// general soap fault and details in x.Message
}
catch(WebException)
{
// e.g. internet is down
}
catch(Exception)
{
// handles everything else
}
答案 1 :(得分:7)
抓住SoapException
个实例。这样您就可以访问其信息:
try {
service.StartGame();
} catch (SoapException e) {
// The variable 'e' can access the exception's information.
}
答案 2 :(得分:1)
catch (SoapException soapEx)
{
//Do something with soapEx
}