Windows PowerShell 提供兩種報告錯誤的機制:終止錯誤的機制,另一個機制用於 非終止錯誤。 請務必讓 Cmdlet 正確報告錯誤,讓執行 Cmdlet 的主應用程式可以適當地回應。
當發生錯誤時,您的 Cmdlet 應該呼叫 System.Management.Automation.Cmdlet.ThrowTerminatingError* 方法,而錯誤不會或不應該允許 Cmdlet 繼續處理其輸入物件。 當 Cmdlet 可以繼續處理輸入物件時,Cmdlet 應該呼叫 System.Management.Automation.Cmdlet.WriteError 方法來報告非終止錯誤。 這兩種方法都提供錯誤記錄,主應用程式可用來調查錯誤的原因。
使用下列指導方針來判斷錯誤是否為終止或非終止錯誤。
如果錯誤會防止 Cmdlet 繼續處理目前的物件,或成功處理任何進一步的輸入物件,不論其內容為何,則錯誤是終止錯誤。
如果您不想讓 Cmdlet 繼續處理目前的物件或任何進一步的輸入物件,不論其內容為何,錯誤就是終止錯誤。
如果錯誤發生在不接受或傳回物件的 Cmdlet 中,或是在接受或只傳回一個物件的 Cmdlet 中發生,就會發生錯誤。
如果您希望 Cmdlet 繼續處理目前的物件和任何進一步的輸入物件,則錯誤是非終止錯誤。
如果錯誤與特定輸入物件或輸入物件的子集相關,則為非終止錯誤。
另請參閱
System.Management.Automation.Cmdlet.ThrowTerminatingError*