为什么我的例外会丢失?

时间:2013-11-11 01:10:07

标签: c#

我使用以下代码调用Web方法并获取一些信息。为了整理一些东西并获得一些代码重用,我介绍了InvokeWebMethod例程。

private T InvokeWebMethod<T>(webServiceDelegate d)
{
    return (T)base.invokeWebMethod(d);
}
internal XmlElement GetInfo(string url)
{
    return this.InvokeWebMethod<XmlElement>(() => { return this.myService.GetInfo(url); });
}

如果服务器上不存在Web方法,则会在委托内引发404异常。 我不理解的是,Lambda函数忽略了404异常,而是引发了一个XmlElement Cast异常。

任何人都可以向我解释为什么404 Exception在处理之前不会被提升到堆栈中吗?

由于

1 个答案:

答案 0 :(得分:1)

你必须检查你得到的异常的InnerException属性,404异常可能是在堆栈的某个地方。