2011-02-08 4 views
2

Это (*) ObjectLockedException, возвращаемое с веб-службы на основе Java. Я хочу уловить эту конкретную ошибку в .NET.Обработать случаи исключения SOAP с несколькими блоками catch

Я использую 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

+3

Ошибки мыла не гарантируются для прямой трансляции в вашу конкретную платформу. Я подозреваю, что вам придется соглашаться на соответствие строк, если не существует кода или аналогичного поиска. –

ответ

0

Если операция «что-то» в вашей службе имеет контракт на неисправность, тогда появится тип детали, содержит информацию об ошибке для ошибки. Ищите FaultContractAttribute в вашем сервисном интерфейсе. Учитывая этот тип, T, вы можете поймать FaultException<T>.

Если нет контракта о неисправности, вам придется поймать FaultException и выбрать его отдельно.

Вряд ли вы можете поймать вложенное исключение напрямую ... но это в конечном счете зависит от контракта на неисправность.

Смежные вопросы