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ı?
return
gelmez değil de arayana dönmek process
bir (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.
Throw
bir komut dosyası sonlandırma hatası oluşturduğunu unutmayın . Get-Item -NoSuchParameter
1 / 0