Глядя на скрипт Get-WebFile на PoshCode, http://poshcode.org/3226, я заметил странную для меня штуковину:
$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 с последующим возвратом. Есть ли разница?