我使用以下代码调用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在处理之前不会被提升到堆栈中吗?
由于
答案 0 :(得分:1)
你必须检查你得到的异常的InnerException属性,404异常可能是在堆栈的某个地方。