about_Throw
Kısa açıklama
throw
Sonlandırıcı bir hata oluşturan anahtar sözcüğü açıklar.
Uzun açıklama
anahtar throw
sözcüğü sonlandırıcı bir hataya neden olur. Komut, işlev veya betiğin işlenmesini durdurmak için anahtar sözcüğünü kullanabilirsiniz throw
.
Örneğin, bir koşula veya deyimin bloğuna yanıt vermek için deyiminin catch
betik bloğunda anahtar sözcüğünü--finally
try
catch
kullanabilirsiniz.if
throw
anahtar throw
sözcüğü, kullanıcı ileti dizesi veya hataya neden olan nesne gibi herhangi bir nesne oluşturabilir.
Sözdizimi
Anahtar sözcüğün throw
söz dizimi aşağıdaki gibidir:
throw [<expression>]
Söz dizimindeki throw
ifade isteğe bağlıdır. throw
Deyimi bir catch
blokta 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
blokta kullanılırsa geçerli RuntimeException değerini yeniden oluşturur. Daha fazla bilgi için bkz . about_Try_Catch_Finally.
Dize oluşturma
Bir deyimdeki throw
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 oluşturan 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şkende ErrorRecord nesnesinin $Error
TargetObject ö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
Ayrıca ErrorRecord nesnesi veya .NET özel durumu da throw
oluşturabilirsiniz. Aşağıdaki örnek, System.FormatException nesnesi oluşturmak için anahtar sözcüğünü kullanırthrow
.
$formatError = New-Object System.FormatException
throw $formatError
OperationStopped: One of the identified items was in an invalid format.
Sonuçta oluşan hata
anahtar throw
sözcüğü bir ErrorRecord nesnesi oluşturabilir. ErrorRecord nesnesinin Exception özelliği runtimeexception nesnesi içerir.
ErrorRecord nesnesinin geri kalanı ve RuntimeException nesnesi, oluşan nesneye bağlı olarak değişir.
throw
Nesne bir ErrorRecord nesnesine sarmalanır ve ErrorRecord nesnesi otomatik değişkene $Error
otomatik olarak kaydedilir.
Zorunlu parametre oluşturmak için kullanma throw
PowerShell'in önceki sürümlerinden farklı olarak parametre doğrulaması için anahtar sözcüğünü throw
kullanmayın. Doğru yol için bkz . about_Functions_Advanced_Parameters .
Ayrıca bkz.
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin