使用多个catch块处理SOAP异常情况

时间:2011-02-08 13:17:44

标签: c# java .net exception-handling

从基于Java的Web服务返回此(*)ObjectLockedException。我想在.NET上捕获这个特定的错误。

我使用C#。任何人都可以建议下面的代码方法?我的意思是我怎样才能让它发挥作用?

try{
 service.something();

}catch(ObjectLockedException exx)
{
  alert("Hey!, remove the lock");
}
catch
{
//this block is for the rest of the exceptions
}

(*)我要捕获的详细的例外情况; java.rmi.RemoteException:准备实例QS.TYR.611时出错; 嵌套异常是:xy.zrt.ugy.business.ObjectLockedException:无法获取QS.TYR.611的锁定

1 个答案:

答案 0 :(得分:0)

如果服务中的“某事”操作有故障合同,那么将有一个包含故障错误信息的详细信息类型。在服务界面中查找FaultContractAttribute。鉴于此类型T,您可以抓住FaultException<T>

如果没有错误合同,你必须抓住FaultException并将其拆开。

您不太可能直接捕获嵌套异常......但最终取决于错误合同。