3
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)
4

1 に答える 1

5

「すべての管理対象例外でブレーク」を有効にしてデバッガーで実行しているように思えます。その場合、ハンドラーが実行される前に、デバッガーは例外をスローした行で中断します。ハンドラーはまだ機能しています。デバッガーは、エラーを事前に検査できるようにするだけです。

于 2013-03-25T02:52:40.807 に答える