C# 试着抓住不起作用的东西

C# 试着抓住不起作用的东西,c#,exception,try-catch,webclient,C#,Exception,Try Catch,Webclient,使用: class XWebClient : WebClient { protected override WebRequest GetWebRequest(Uri Url) { var Request = base.GetWebRequest(Url); ........... return Request; } } 我希望得到一个messagebox,但我得到一个未处理的异常。我做错了什么 例外情况: System.

使用:

class XWebClient : WebClient
{
    protected override WebRequest GetWebRequest(Uri Url)
    {
        var Request = base.GetWebRequest(Url);
        ...........
        return Request;
    }
}
我希望得到一个messagebox,但我得到一个未处理的异常。我做错了什么


例外情况: System.NotSupportedexception

信息: 无法识别URI前缀

跟踪:

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

在我看来,您似乎是在启用了“在所有托管异常上中断”的调试器下运行它。如果是这种情况,调试器将在处理程序运行之前中断引发异常的行。您的处理程序仍在工作,调试器只是让您事先检查错误。

错误说明了什么?@IniCheer:他必须首先让代码编译。upd:添加消息并跟踪描述崩溃。您是否在启用“所有托管异常中断”的调试器下运行它?在这种情况下,调试器将在处理程序运行之前中断引发异常的行。@Ed S。谢谢,问题解决了。它确实被配置为拦截异常。
   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)