0

私のプログラムには、次のようなサーバーコールバックであるメソッドがあります。

        private void DeserializerCallback(IAsyncResult aysncResult)
    {
        HttpWebRequest request = (HttpWebRequest)aysncResult.AsyncState;
        HttpWebResponse response;
        try
        {
            response = (HttpWebResponse)request.EndGetResponse(aysncResult);
        }
        catch(WebException e)
        {
            VenueMapException venueMapException = new MyException(MyException.ExceptionType.BadResponseException, e);
            throw venueMapException;
        }

        Stream responseStream = response.GetResponseStream();
        this.DeserializeStream(responseStream);

    }

このメソッドは、次の行を実行した後に呼び出されます。

this.MyHttpRequest.BeginGetResponse(new AsyncCallback(this.DeserializerCallback), this.MyHttpRequest);

コールバック メソッドでは、自分で定義した例外をスローします。このコードからできるだけ離れた場所でこの例外をキャッチしたいのですが、このメソッドで例外をキャッチしないと、例外がどこに行くのかわかりません。
誰かが何か提案できますか?ありがとうございました

4

1 に答える 1

1

エラーはページレベルまたはアプリケーションレベルでキャッチできます

  1. エラーは、Global.asaxhttp ://msdn.microsoft.com/en-us/library/24395wz3.aspxのApplication_Errorイベントのアプリケーションレベルでキャッチできます 。
  2. エラーは、aspxページのPage_Errorイベントによってページレベルでキャッチできます http://msdn.microsoft.com/en-us/library/24395wz3.aspx

そして、これらのイベント内で、コードによって最後に発生した例外を取得できます

Exception exc = Server.GetLastError();
于 2012-07-31T02:20:57.927 に答える