簡體   English   中英

服務器回調方法中的C#拋出異常

[英]C# Throw exception in server call back method

我的程序中有一個方法是服務器回調,如下所示:

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

在回調方法中,我拋出了一個由我自己定義的異常。 現在,我想盡可能地從此代碼中捕獲此異常,但是我不確定如果不使用此方法捕獲該異常,異常會去哪里。
有人可以提出建議嗎? 謝謝

可以在頁面級別或應用程序級別捕獲錯誤

  1. 可以在Global.asax http://msdn.microsoft.com/zh-CN/library/24395wz3.aspx的Application_Error事件中的應用程序級別捕獲錯誤。
  2. 可以通過ASPX頁面http://msdn.microsoft.com/en-us/library/24395wz3.aspx中的Page_Error事件在頁面級別捕獲錯誤

在這些事件中,我們可以通過代碼獲取最后發生的異常

Exception exc = Server.GetLastError();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM