WebProtocolException未被用户代码处理

时间:2011-07-27 09:43:22

标签: c# wcf unhandled-exception custom-exceptions

我的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时,还会抛出“A中的WebProtocolException CustomerID与B中的customerId不匹配”未被用户代码处理。

然而,当我查看fiddler时,会显示状态代码400,并且在fiddler的原始选项卡上显示正确的badrequest响应和消息。

我很困惑为什么第二个WebProtocol未被用户代码处理。

非常感谢任何建议!

Zal

1 个答案:

答案 0 :(得分:0)

看一下这个question and answerASP.NET forum discussion.您似乎遇到了同样的问题。