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

【问题】

折腾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了,就可以接着写自己需要的代码去处理了。



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

  1. 异常虽然定位到了,但是如何处理这个请求,让这个请求中止呢,我利用循环多次发送请求,卡在一个地方超时,这个超时请求必须有响应之后才能发送以下没法送的请求。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量