1

我使用以下代码调用 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 异常在处理之前没有提升到堆栈中?

谢谢

4

1 回答 1

1

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

于 2013-11-11T01:24:25.650 回答