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