共用方式為


錯誤報告概念

Windows PowerShell 提供兩種報告錯誤的機制:一個用來 終止錯誤 的機制,另一個機制用於 非終止錯誤。 您的 Cmdlet 必須正確地報告錯誤,讓執行 Cmdlet 的主機應用程式能夠以適當的方式回應。

當錯誤發生時,您的指令程式應該呼叫 Throwterminatingerror * 方法,否則不應該允許 Cmdlet 繼續處理其輸入物件。 當 Cmdlet 可以繼續處理輸入物件時,您的 Cmdlet 應該呼叫 WriteError 方法來回報非終止錯誤。 這兩種方法都會提供一筆錯誤記錄,讓主機應用程式用來調查錯誤的原因。

使用下列指導方針來判斷錯誤是否為終止或非終止錯誤。

  • 如果發生錯誤,則會導致您的 Cmdlet 無法繼續處理目前的物件,或無法成功處理任何進一步的輸入物件(不論其內容為何),而發生錯誤。

  • 如果您不想讓 Cmdlet 繼續處理目前的物件或任何進一步的輸入物件(不論其內容為何),則錯誤是終止錯誤。

  • 如果錯誤發生在不接受或傳回物件的 Cmdlet 中,或發生在接受或只傳回一個物件的 Cmdlet 中,則錯誤為終止錯誤。

  • 如果您想要讓 Cmdlet 繼續處理目前的物件和任何進一步的輸入物件,則錯誤為非終止錯誤。

  • 如果錯誤與特定輸入物件或輸入物件的子集相關,則錯誤為非終止錯誤。

另請參閱

Throwterminatingerror * 的 *

System.Management.Automation.Cmdlet.WriteError

Windows PowerShell 錯誤記錄

撰寫 Windows PowerShell Cmdlet