试着抓住不工作

本文关键字:工作 | 更新日期: 2023-09-27 18:05:53

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");
}

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


例外:系统。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)

试着抓住不工作

听起来就像你在调试器下运行它,启用了"中断所有托管异常"。如果是这种情况,调试器将在处理程序运行之前在抛出异常的行上中断。处理程序仍在工作,调试器只是让您提前检查错误。