在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