Quando devo usar Write-Error vs. Throw? Erros de finalização vs. erros de finalização

Verificando um script Get-WebFile em PoshCode,http: //poshcode.org/322, Notei essa engenhoca estranha para mim:

$URL_Format_Error = [string]"..."
Write-Error $URL_Format_Error
return

Qual é o motivo disso, ao contrário do seguinte?

$URL_Format_Error = [string]"..."
Throw $URL_Format_Error

Ou ainda melhor:

$URL_Format_Error = New-Object System.FormatException "..."
Throw $URL_Format_Error

Como eu entendo, você deve usar o Erro de Gravação para erros que não terminam, e o Throw para os erros que terminam, então parece-me que você não deve usar o Erro de Gravação seguido de Retorno. Existe alguma diferença?

questionAnswers(12)

yourAnswerToTheQuestion