共用方式為


報告管線元件錯誤

管線元件會使用兩種方法來報告錯誤:

  • 如果是 .NET 元件,則會擲回例外狀況。

  • 針對 COM 型元件,藉由設定 ErrorInfo 物件並傳回失敗 HRESULT。

報告 .NET 管線元件錯誤

若要報告錯誤,.NET 管線元件需要擲回例外狀況,以報告此錯誤的描述。 若要報告擲回錯誤的元件名稱,請設定Exception物件的Source屬性。

傳訊引擎會使用Exception物件的MessageSource屬性來報告錯誤。 下列訊息會寫入事件記錄:

「執行 [receive|send] 管線失敗:管線名稱 > 來源: << 來源 > [接收位置|傳送埠:] < 位置|埠名稱 > 原因: < 訊息 > 。」

報告 COM 管線元件錯誤

為了報告錯誤,COM 管線元件會執行下列動作:

  1. 管線元件會呼叫 SetErrorInfo 方法來設定 IErrorInfo 物件。

  2. 管線元件會將失敗的 HRESULT 傳給傳訊引擎。

    傳訊引擎會使用IErrorInfo物件的GetSourceGetDescription屬性來報告錯誤。 如果未設定來源,則會使用此元件的名稱。 如果未設定描述,或未設定整個 ErrorInfo 物件,則會報告傳回的 HRESULT,而不是描述。 下列訊息會寫入事件記錄:

    「執行 [receive|send] 管線失敗:管線名稱 > 來源: << GetSource > [接收位置|傳送埠:] < 位置|埠名稱 > 原因: < GetDescription 或 HRESULT > 。」

另請參閱

開發自訂管線元件