Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Krátký popis
Popisuje throw klíčové slovo, které generuje ukončující chybu.
Dlouhý popis
Klíčové throw slovo způsobí ukončení chyby. Klíčové slovo můžete použít throw k zastavení zpracování příkazu, funkce nebo skriptu.
Můžete například použít throw klíčové slovo v bloku if skriptu příkazu k reakci na podmínku nebo v catch blokutry-catch-finallypříkazu.
Klíčové throw slovo může vyvolat jakýkoli objekt, například řetězec zprávy uživatele nebo objekt, který způsobil chybu.
Syntaxe
Syntaxe klíčového throw slova je následující:
throw [<expression>]
Výraz v throw syntaxi je volitelný. Pokud se throw příkaz nezobrazí v catch bloku a neobsahuje výraz, vygeneruje chybu ScriptHalted .
throw
ScriptHalted
At line:1 char:6
+ throw <<<<
+ CategoryInfo : OperationStopped: (:) [], RuntimeException
+ FullyQualifiedErrorId : ScriptHalted
throw Pokud je klíčové slovo použito v catch bloku bez výrazu, vyvolá aktuální RuntimeException znovu. Další informace najdete v tématu about_Try_Catch_Finally.
Vyvolání řetězce
Volitelný výraz v throw příkazu může být řetězec, jak je znázorněno v následujícím příkladu:
throw "This is an error."
This is an error.
At line:1 char:6
+ throw <<<< "This is an error."
+ CategoryInfo : OperationStopped: (This is an error.:String) [], R
untimeException
+ FullyQualifiedErrorId : This is an error.
Vyvolání jiných objektů
Výraz může být také objekt, který vyvolá objekt, který představuje proces PowerShellu, jak je znázorněno v následujícím příkladu:
throw (Get-Process pwsh)
At line:1 char:6
+ throw <<<< (Get-Process powershell)
+ CategoryInfo : OperationStopped: (System.Diagnostics.Process (Pow
erShell):Process) [],
RuntimeException
+ FullyQualifiedErrorId : System.Diagnostics.Process (PowerShell)
K prozkoumání chyby můžete použít vlastnost TargetObject objektu ErrorRecord v $Error automatické proměnné.
$Error[0].TargetObject
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
319 26 61016 70864 568 3.28 5548 PowerShell
Můžete také throwobjekt ErrorRecord nebo výjimku .NET. Následující příklad používá throw klíčové slovo k vyvolání System.FormatException objektu.
$formatError = New-Object System.FormatException
throw $formatError
One of the identified items was in an invalid format.
At line:1 char:6
+ throw <<<< $formatError
+ CategoryInfo : OperationStopped: (:) [], FormatException
+ FullyQualifiedErrorId : One of the identified items was in an invalid
format.
Výsledná chyba
Klíčové throw slovo může generovat ErrorRecord objektu.
Exception vlastnost ErrorRecord objekt obsahuje RuntimeException objekt.
Zbývající část ErrorRecord objektu a RuntimeException objektu se liší v závislosti na objektu vyvolaném.
Objekt throw je zabalen do ErrorRecord objektu a ErrorRecord objekt je automaticky uložen v $Error automatické proměnné.
Použití throw k vytvoření povinného parametru
Na rozdíl od předchozích verzí PowerShellu nepoužívejte klíčové slovo pro ověření parametru throw . Správný způsob najdete v about_Functions_Advanced_Parameters .