例外處理 (Visual Studio SDK)
以下說明擲回例外狀況時,就會發生的處理程序。
例外狀況的處理程序
當第一次擲回例外狀況時,但它由例外處理常式,以進行偵錯程式中處理之前,偵錯引擎 (DE) 便會將 IDebugExceptionEvent2 工作階段偵錯管理員 (SDM) 為 「 停止 」 事件。 IDebugExceptionEvent2要是例外狀況 (在偵錯在封裝中的例外規則] 對話方塊中指定) 的設定可指定使用者想要停止在第一個出現的例外狀況通知會傳送。
SDM 呼叫 IDebugExceptionEvent2::GetException 以取得例外狀況的屬性。
偵錯的封裝呼叫 IDebugExceptionEvent2::CanPassToDebuggee 來判斷哪些選項呈現給使用者。
偵錯封裝會詢問使用者如何藉由開啟第一個出現的例外狀況] 對話方塊來處理例外狀況。
如果使用者選擇要繼續,SDM 會呼叫 IDebugExceptionEvent2::CanPassToDebuggee。
如果這個方法會傳回 S_OK,會呼叫 IDebugExceptionEvent2::PassToDebuggee。
-或-
如果這個方法傳回 S_FALSE,程式進行偵錯有機會第二個來處理例外狀況。
如果正在進行偵錯的程式沒有為第二個可能的例外狀況的處理常式,會傳送 DE IDebugExceptionEvent2來為 SDM EVENT_SYNC_STOP。
偵錯封裝會詢問使用者如何藉由開啟第一個出現的例外狀況] 對話方塊來處理例外狀況。
偵錯的封裝呼叫 IDebugExceptionEvent2::CanPassToDebuggee 來判斷哪些選項呈現給使用者。
偵錯封裝會詢問使用者如何藉由開啟第二個可能的例外狀況] 對話方塊來處理例外狀況。
如果這個方法會傳回 S_OK,會呼叫IDebugExceptionEvent2::PassToDebuggee。