最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】如何处理C#的HttpWebResponse的GetResponse中的超时异常

C# crifan 6683浏览 0评论

【问题】

折腾C#的网络处理:

resp = (HttpWebResponse)req.GetResponse();

时,有时候会遇到超时的异常,需要进行处理。

【解决过程】

1.开始是用:

try
{
	resp = (HttpWebResponse)req.GetResponse();
}
catch (Exception  ex)
{
	//ex no Status
}

结果发现ex没有Status的属性,所以不好弄。

2.后来参考:

System.Net.WebException http codes

得知,是用WebException,所以改为:

try
{
	resp = (HttpWebResponse)req.GetResponse();
}
catch (WebException  webEx)
{
	if (webEx.Status == WebExceptionStatus.Timeout)
	{

	}
}

即可。

 

【总结】

在try…catch中用WebException,就可以看到:WebException 类的各种属性,包括Status了,就可以接着写自己需要的代码去处理了。

转载请注明:在路上 » 【已解决】如何处理C#的HttpWebResponse的GetResponse中的超时异常

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 异常虽然定位到了,但是如何处理这个请求,让这个请求中止呢,我利用循环多次发送请求,卡在一个地方超时,这个超时请求必须有响应之后才能发送以下没法送的请求。
    wdl10年前 (2015-04-29)回复
85 queries in 0.165 seconds, using 22.10MB memory