Код в моем блоке try выглядит примерно так:
catch (ThinkBusinessLogicException ex)
{
var message = (ex.InnerException != null) ? ex.InnerException.ToString() : ex.Message;
if (message == "CustomerID in A does not match customerId in B")
{
Error = new ErrorStore("400", "1", "CustomerID in A does not match customerId in B");
throw new WebProtocolException(HttpStatusCode.BadRequest, Error.Description, Error.Generate(), null, null);
}
throw new WebProtocolException(HttpStatusCode.InternalServerError, message, new ErrorStore("500", "1", message).Generate(), null, null);
}
В результате выполняется условие, а исключение WebProtolException в условии выполняется. Однако при отладке также выдается исключение WebProtocolException, в котором говорится, что «WebProtocolException CustomerID в A не соответствует customerId в B, не был обработан кодом пользователя».
Однако, когда я смотрю в фиддлере, отображается код состояния 400, а на вкладке «Необработанный» в фиддлере выводится правильный ответ на неверный запрос с сообщением.
Я не понимаю, почему второй WebProtocol не обрабатывается кодом пользователя.
Любые предложения очень ценятся!
Зал