Ответ 1
Поймайте экземпляр SoapException
. Таким образом вы можете получить доступ к своей информации:
try {
service.StartGame();
} catch (SoapException e) {
// The variable 'e' can access the exception information.
}
Я удаляю несколько исключений для мыла в своем веб-сервисе. Я хотел бы получить исключения и получить доступ к строкам и ClientFaultCode, которые вызываются с исключением. Вот пример одного из моих исключений в веб-службе:
throw new SoapException("You lose the game.", SoapException.ClientFaultCode);
В моем клиенте я пытаюсь запустить метод из веб-службы, который может вызвать исключение, и я его поймаю. Проблема в том, что мои блоки catch не делают ничего. См. Этот пример:
try
{
service.StartGame();
}
catch
{
// missing code goes here
}
Как я могу получить доступ к строкам и ClientFaultCode, вызываемым с помощью исключенного исключения?
Поймайте экземпляр SoapException
. Таким образом вы можете получить доступ к своей информации:
try {
service.StartGame();
} catch (SoapException e) {
// The variable 'e' can access the exception information.
}
Вы можете захотеть поймать определенные исключения.
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
}
catch (SoapException soapEx)
{
//Do something with soapEx
}