try
{
string Url = www.123456.com****************;
WebRequest request = WebRequest.Create(Url);
request.Method = "POST";
request.Timeout = 30000;
request.GetRequestStream().Close();
WebResponse response = request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8"));
string webInfo = sr.ReadToEnd();
sr.Close();
sr.Dispose();
return webInfo;
}
catch (Exception ex)
{
ShowResult(-1, "发送出错, Error: " + ex.Message,0);
return ex.Message;
}
这段代码 如果是超时了会怎么样啊,怎么才可以知道是不是超时了呢?
catch (TimeoutException ex) 就是超时。
是不是就是将Exception 改成TimeoutException 了就好了呢,可是 我还是有其他的可能的出错情况啊
@.F.:
catch (TimeoutException ex)
{
ShowResult(-1, "发送出错, Error: " + ex.Message,0);
return ex.Message;
}
catch (Exception ex)
{
ShowResult(-1, "发送出错, Error: " + ex.Message,0);
return ex.Message;
}
@Launcher: 是不是第二个catch就可以捕获所有的异常了,如果只是要获取异常的信息,第二个就可以了呢?
@.F.: 是,如果 Exception 是 TimeoutException,第一个捕获匹配,代码执行不到第二个捕那里,否则第二个捕获匹配。
@Launcher: 这么写是不是它会显示两次异常的结果呢?还是如果只是超时异常,只显示第一个,其他的就显示第二个?
@.F.: 一次。
@Launcher: 嗯 明白 啦 灰常感谢 嘿嘿