擷取錯誤資訊

使用 COM 錯誤處理介面和函式,您可以擷取錯誤資訊,如下所示:

  1. 檢查傳回的值是否代表物件準備處理的錯誤。
  2. 呼叫 QueryInterface,以取得 ISupportErrorInfo 介面的指標。 然後呼叫 ISupportErrorInfo::InterfaceSupportsErrorInfo,以確認是傳回錯誤的物件引發錯誤,並且該錯誤物件是與目前錯誤相關,而不是與先前的呼叫有關。
  3. 若要取得錯誤物件的指標,請呼叫 getErrorInfo函式
  4. 若要從錯誤物件擷取資訊,請使用 IErrorInfo 方法。

如果物件尚未準備好處理錯誤,但需要將錯誤資訊進一步傳播至呼叫鏈結,則應該只將傳回值傳遞至其呼叫端。 因為 GetErrorInfo 函式會清除錯誤資訊,並將錯誤對象的擁有權傳遞給呼叫者,因此函式應該只由處理錯誤的 物件呼叫。