我执行以下代码:如何避免在的GetResponse()方法引发WebException
// get a picture from http://www.mysite.com/logos/logo.png
WebRequest pictureRequest = WebRequest.Create(themeLogoUri);
response = pictureRequest.GetResponse();
在网站上的标识可能存在与否,而当它不存在,则GetResponse()
方法失败投掷一个WebException (404)
。在此之前,这一切都是正确的。
当我正在调试时,总是出现这种异常很烦人,因为调试器总是停在这个异常。我知道我可以忽略调试器中的某种异常,但我更喜欢避免抛出异常,所以我的问题是。
如何检查请求是否正确(图像确实存在),如果不存在,则返回并在其他情况下继续使用GetResponse()
?
在此先感谢。
如果你阅读答案,我说我想检查webRequest是否存在,我想避免例外,所以这个答案是无效的。请删除它。 –
@DanielPeñalba,为什么不简单地创建一个方法(或扩展方法),它完全符合:'DoesTargetExist'。它只需要包含一个try/catch,在'catch'里面你返回false,在'try'结尾返回true。为了防止下载整个图片,使用'WebClient','OpenStream'和'Read'。 – Abel