Глядя на скрипт Get-WebFile на PoshCode, http://poshcode.org/3226 , я заметил это странное для меня приспособление:
$URL_Format_Error = [string]"..."
Write-Error $URL_Format_Error
return
What в чем причина этого, а не в следующем?
$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. Есть ли разница?