エラー レポートの概念

Windows PowerShell、エラーを報告するための 2 つのメカニズムが提供されます。1 つはエラーを終了するためのメカニズムと、終了しないエラーのもう 1 つのメカニズムです。 コマンドレットを実行しているホスト アプリケーションが適切な方法で対応できるよう、コマンドレットでエラーを正しく報告することが重要です。

コマンドレットでは、入力オブジェクトの処理を続行できない、または許可しないエラーが発生した場合に 、System.Management.Automation.Cmdlet.Throwterminatingerror* メソッドを呼び出す必要があります。 コマンドレットが入力オブジェクトの処理を続行できる場合、コマンドレットは System.Management.Automation.Cmdlet.WriteError メソッドを呼び出して、終了しないエラーを報告する必要があります。 どちらの方法でも、ホスト アプリケーションがエラーの原因を調査するために使用できるエラー レコードが提供されます。

エラーが終了エラーか終了以外のエラーかを判断するには、次のガイドラインに従います。

  • エラーは、コマンドレットが現在のオブジェクトを処理し続けることを妨げる場合、または内容に関係なく、それ以上入力オブジェクトを正常に処理しない場合、終了エラーです。

  • 内容に関係なく、コマンドレットで現在のオブジェクトまたはそれ以上の入力オブジェクトの処理を続行しない場合、エラーは終了エラーになります。

  • エラーは、オブジェクトを受け入れるか返していないコマンドレットで発生した場合、または 1 つのオブジェクトのみを受け入れるまたは返すコマンドレットで発生した場合に、終了エラーです。

  • コマンドレットで現在のオブジェクトとそれ以上の入力オブジェクトの処理を続行する場合、エラーは終了しないエラーです。

  • エラーは、特定の入力オブジェクトまたは入力オブジェクトのサブセットに関連している場合、終了しないエラーです。

参照

System.Management.Automation.Cmdlet.Throwterminatingerror*

System.Management.Automation.Cmdlet.WriteError

Windows PowerShell エラー レコード

Windows PowerShell コマンドレットの記述