尝试捕捉不起作用

时间:2013-03-25 02:08:06

标签: c# exception try-catch webclient

class XWebClient : WebClient
{
    protected override WebRequest GetWebRequest(Uri Url)
    {
        var Request = base.GetWebRequest(Url);
        ...........
        return Request;
    }
}

使用:

try
{
    XWebClient Client = new XWebClient();
    Client.DownloadString(new Uri("badurl:100500"));
}
catch
{
    MessageBox.Show("exception");
}

我希望得到一个消息框,但是我得到了一个未处理的异常。我做错了什么?


例外: System.NotSupportedexception

消息: 无法识别URI前缀

跟踪:

   System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)
   System.Net.WebRequest.Create(Uri requestUri)
   System.Net.WebClient.GetWebRequest(Uri address)
   XWebClient.GetWebRequest(Uri Url) в [path]\XWebClient.cs:строка 28
   System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)

1 个答案:

答案 0 :(得分:5)

对我来说,就像你在调试器下运行它一样,启用了“中断所有托管异常”。如果是这种情况,调试器将在处理程序运行之前抛出异常的行中断。您的处理程序仍在工作,调试器只是让您事先检查错误。

相关问题