Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Rövid leírás
throw A megszüntetési hibát generáló kulcsszót ismerteti.
Hosszú leírás
A throw kulcsszó végződési hibát okoz. A kulcsszóval throw leállíthatja a parancsok, függvények vagy szkriptek feldolgozását.
Egy utasítás utasításblokkjában if például a throw kulcsszóval válaszolhat egy feltételre vagy egy catchtry/catch/finally utasításblokkra.
A throw kulcsszó bármilyen objektumot képes eldobni, például egy felhasználói üzenet sztringet vagy a hibát okozó objektumot.
Szemantika
A kulcsszó szintaxisa a throw következő:
throw [<expression>]
A szintaxisban szereplő throw kifejezés nem kötelező. Ha az throw utasítás nem jelenik meg egy catch blokkban, és nem tartalmaz kifejezést, szkripthalted hibát okoz.
throw
Exception: ScriptHalted
Ha a throw kulcsszó kifejezés catch nélküli blokkban van használva, az ismét az aktuális RuntimeExceptiont dobja. További információ: about_Try_Catch_Finally.
Sztring dobása
Az utasítás opcionális throw kifejezése lehet sztring, ahogyan az alábbi példában is látható:
throw "This is an error."
Exception: This is an error.
Más objektumok dobása
A kifejezés lehet olyan objektum is, amely a PowerShell-folyamatot jelképező objektumot dobja, ahogyan az az alábbi példában is látható:
throw (Get-Process pwsh)
Exception: System.Diagnostics.Process (pwsh) System.Diagnostics.Process (pwsh) System.Diagnostics.Process (pwsh)
Az automatikus változóban az tulajdonságával megvizsgálhatja a hibát.
$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
ErrorRecordthrowvagy .NET-kivételt is megadhat. Az alábbi példa a throw kulcsszót használja a System.FormatException objektum eldobásához.
$formatError = New-Object System.FormatException
throw $formatError
OperationStopped: One of the identified items was in an invalid format.
Az eredményként kapott hiba
A throw kulcsszó létrehozhat egy ErrorRecord objektumot . Az ErrorRecord objektum Kivétel tulajdonsága runtimeException objektumot tartalmaz.
Az ErrorRecord objektum és a RuntimeException objektum fennmaradó része a kidobott objektumtól függően változik.
Az throw objektum egy ErrorRecord objektumba van csomagolva, és a ErrorRecord objektum automatikusan az automatikus változóba $Error lesz mentve.
Kötelező throw paraméter létrehozása
A PowerShell korábbi verzióival ellentétben ne használja a kulcsszót a throw paraméterérvényesítéshez. A helyes útért tekintse meg a about_Functions_Advanced_Parameters .