用了WebClient.UploadString进行身份验证。
如果网址不正确,弹出系统错误。程序异常退出。
用了try catch,发现这个也不是万能的,照样异常退出。
试了下,无法连接远程服务器和404找不到页面都会引起程序异常退出。。
请问如何让出现错误的网址时,程序能知道这个错误并继续运行?
      // 身份验证
      try
      {
        WebClient wc = new WebClient();
        wc.Headers["Content-type"] = "application/x-www-form-urlencoded";
        string HtmlResult = wc.UploadString(configs.login.url, "client=" + configs.login.name + "&password=" + configs.login.password);
        if ("1" == HtmlResult)
        {
          notifyIconUpdate.Text = "通过身份验证!";
        }
        else
        {
          notifyIconUpdate.Text = "身份验证信息错误!";
        }
      }
      catch (IOException ex)
      {
        notifyIconUpdate.Text = "身份验证失败!";
      }

解决方案 »

  1.   

    错误 应该会被 catch 住的,不至于程序崩溃吧
      

  2.   

    WebClient没用过,都是用HttpWebRequest的。    catch (Exception ex)
        {
            //...
        }
      

  3.   

    不能只catch IOException啊。这里大部分是WebException,最好是 catch Exception这样异常都能捕获到了。
      

  4.   

    如果能catch住,判断异常信息就可以做下一步处理了。
      

  5.   


    以前抄了一段输出catch错误信息的,就一直闷着头这么用了。原来俺连catch的基本用法都不了解。问题解决,多谢5楼。
      

  6.   

    额~
    不好意思。
    感谢你的热心回答。不介意的话来个帖子http://topic.csdn.net/u/20120412/13/42d9f1ff-4171-49b5-8f20-2df0c3645b0a.html回复一下。那个帖子没人答,一会散分算了。