首页 新闻 赞助 找找看

这段代码 如果是超时了会怎么样啊

0
悬赏园豆:5 [已解决问题] 解决于 2013-08-05 16:49

            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;

            }

 

 

这段代码  如果是超时了会怎么样啊,怎么才可以知道是不是超时了呢?

.F.的主页 .F. | 初学一级 | 园豆:13
提问于:2013-08-05 16:23
< >
分享
最佳答案
1

  catch (TimeoutException ex) 就是超时。

收获园豆:5
Launcher | 高人七级 |园豆:45045 | 2013-08-05 16:29

是不是就是将Exception 改成TimeoutException 了就好了呢,可是   我还是有其他的可能的出错情况啊

.F. | 园豆:13 (初学一级) | 2013-08-05 16:32

@.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 | 园豆:45045 (高人七级) | 2013-08-05 16:33

@Launcher: 是不是第二个catch就可以捕获所有的异常了,如果只是要获取异常的信息,第二个就可以了呢?

.F. | 园豆:13 (初学一级) | 2013-08-05 16:39

@.F.: 是,如果 Exception 是 TimeoutException,第一个捕获匹配,代码执行不到第二个捕那里,否则第二个捕获匹配。

Launcher | 园豆:45045 (高人七级) | 2013-08-05 16:41

@Launcher: 这么写是不是它会显示两次异常的结果呢?还是如果只是超时异常,只显示第一个,其他的就显示第二个?

.F. | 园豆:13 (初学一级) | 2013-08-05 16:42

@.F.: 一次。

Launcher | 园豆:45045 (高人七级) | 2013-08-05 16:45

@Launcher: 嗯    明白 啦   灰常感谢  嘿嘿

.F. | 园豆:13 (初学一级) | 2013-08-05 16:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册