Я звоню в веб-службу из приложения на основе форм C #.
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
Дарин, твой ответ более или менее подтверждает мои подозрения, что то, что я хочу, на самом деле не имеет смысла. Я решил сделать больше детективной работы, а затем использовать ее, чтобы решить, что делать дальше. К сожалению, в этом случае, поскольку мы обрабатываем кредитные карты, действительно важно, что именно произошло, и отправили ли мы данные.