PoshCode üzerinde bir Get-WebFile betiğine baktığımda, http://poshcode.org/3226 , bu garip-me bana karşı fark ettim:
$URL_Format_Error = [string]"..."
Write-Error $URL_Format_Error
return
Aşağıdakilerin aksine bunun nedeni nedir?
$URL_Format_Error = [string]"..."
Throw $URL_Format_Error
Ya da daha iyisi:
$URL_Format_Error = New-Object System.FormatException "..."
Throw $URL_Format_Error
Anladığım kadarıyla, sonlandırma olmayan hatalar için Write-Error ve hataları sonlandırmak için Throw kullanmalısınız, bu yüzden bana Write-Error ve ardından Return kullanmamalısınız. Bir fark var mı?
returngelmez değil de arayana dönmek processbir (gelişmiş) fonksiyonunun bloğu; bunun yerine, boru hattındaki bir sonraki giriş nesnesine ilerler . Aslında, bu, sonlandırılmayan hatalar oluşturmak için tipik bir senaryodur: başka giriş nesnelerini işlemeye devam etmek hala mümkündür.
Throwbir komut dosyası sonlandırma hatası oluşturduğunu unutmayın . Get-Item -NoSuchParameter1 / 0