Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kısa açıklama
Sonlandırıcı bir hata oluşturan throw anahtar sözcüğünü açıklar.
Uzun açıklama
throw anahtar sözcüğü sonlandırıcı bir hataya neden olur. komut, işlev veya betiğin işlenmesini durdurmak için throw anahtar sözcüğünü kullanabilirsiniz.
Örneğin, bir koşula throw veya deyimin if bloğuna yanıt vermek için deyiminin catch deyim bloğunda anahtar sözcüğünü try/catch/finally kullanabilirsiniz.
throw anahtar sözcüğü, kullanıcı ileti dizesi veya hataya neden olan nesne gibi herhangi bir nesne oluşturabilir.
Sözdizimi
throw anahtar sözcüğün söz dizimi aşağıdaki gibidir:
throw [<expression>]
throw söz dizimindeki ifade isteğe bağlıdır.
throw deyimi, bir catch bloğunda görünmediğinde ve bir ifade içermediğinde, ScriptHalted hatası oluşturur.
throw
Exception: ScriptHalted
throw anahtar sözcüğü ifade içermeyen bir catch bloğunda kullanılıyorsa, geçerli RuntimeException'ı yeniden oluşturur. Daha fazla bilgi için bkz. about_Try_Catch_Finally.
Dize oluşturma
throw deyimindeki isteğe bağlı ifade, aşağıdaki örnekte gösterildiği gibi bir dize olabilir:
throw "This is an error."
Exception: This is an error.
Diğer nesneleri oluşturma
İfade, aşağıdaki örnekte gösterildiği gibi PowerShell işlemini temsil eden nesneyi fırlatan bir nesne de olabilir.
throw (Get-Process pwsh)
Exception: System.Diagnostics.Process (pwsh) System.Diagnostics.Process (pwsh) System.Diagnostics.Process (pwsh)
Hatayı incelemek için otomatik değişkendeki ErrorRecord nesnesinin $Error özelliğini kullanabilirsiniz.
$Error[0].TargetObject
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
125 174.44 229.57 23.61 1548 2 pwsh
63 44.07 81.95 1.75 1732 2 pwsh
63 43.32 77.65 1.48 9092 2 pwsh
throw ayrıca bir ErrorRecord nesnesini veya bir .NET özel durumunu yapabilirsiniz. Aşağıdaki örnekte, throw nesnesi oluşturmak için anahtar sözcüğü kullanılır.
$formatError = New-Object System.FormatException
throw $formatError
OperationStopped: One of the identified items was in an invalid format.
Sonuçta oluşan hata
throw anahtar sözcüğü bir ErrorRecord nesnesi oluşturabilir.
ErrorRecord nesnesinin İstisna özelliği, bir RuntimeException nesnesi içerir.
ErrorRecord nesnesinin geri kalanı ve RuntimeException nesnesi, fırlatılan nesneye bağlı olarak değişir.
throw nesnesi ErrorRecord nesnesine sarmalanır ve ErrorRecord nesnesi otomatik olarak $Error otomatik değişkenine kaydedilir.
Zorunlu parametre oluşturmak için kullanma throw
PowerShell'in önceki sürümlerinden farklı olarak, parametre doğrulaması için throw anahtar sözcüğünü kullanmayın. Doğru yol için bkz. about_Functions_Advanced_Parameters.
Ayrıca bakınız
PowerShell