PoshCode(http://poshcode.org/3226)でGet-WebFileスクリプトを確認すると、この奇妙な仕掛けに気づきました。
$URL_Format_Error = [string]"..."
Write-Error $URL_Format_Error
return
以下とは対照的にこれの理由は何ですか?
$URL_Format_Error = [string]"..."
Throw $URL_Format_Error
またはさらに良い:
$URL_Format_Error = New-Object System.FormatException "..."
Throw $URL_Format_Error
私が理解しているように、非終了エラーにはWrite-Errorを使用し、終了エラーにはThrowを使用する必要があるため、Write-Errorの後にReturnを使用しないでください。違いはありますか?
return
が重要です。代わりに、パイプラインの次の入力オブジェクトに進みます。実際、これは非終了エラーを生成するための典型的なシナリオです。さらに入力オブジェクトを処理することがまだ可能な場合。process
Throw
は、スクリプトの終了エラーを生成することに注意してください。これは、またはによってトリガーされるステートメントの終了エラーとは異なります。Get-Item -NoSuchParameter
1 / 0