about_Throw
Kurze Beschreibung
Beschreibt die throw
Schlüsselwort (keyword), die einen Beendigungsfehler generiert.
Lange Beschreibung
Die throw
Schlüsselwort (keyword) verursacht einen Beendigungsfehler. Sie können die throw
Schlüsselwort (keyword) verwenden, um die Verarbeitung eines Befehls, einer Funktion oder eines Skripts zu beenden.
Sie können z. B. die throw
Schlüsselwort (keyword) im Skriptblock einer if
Anweisung verwenden, um auf eine Bedingung oder im catch
Block einerfinally
try
-catch
-Anweisung zu reagieren.
Die throw
Schlüsselwort (keyword) kann jedes Objekt auslösen, z. B. eine Benutzernachrichtenzeichenfolge oder das Objekt, das den Fehler verursacht hat.
Syntax
Die Syntax der throw
Schlüsselwort (keyword) lautet wie folgt:
throw [<expression>]
Der Ausdruck in der throw
Syntax ist optional. Wenn die throw
Anweisung nicht in einem catch
Block angezeigt wird und kein Ausdruck enthält, wird ein ScriptHalted-Fehler generiert .
throw
Exception: ScriptHalted
Wenn die throw
Schlüsselwort (keyword) in einem catch
Block ohne Ausdruck verwendet wird, wird die aktuelle RuntimeException erneut ausgelöst. Weitere Informationen finden Sie unter about_Try_Catch_Finally.
Auslösen einer Zeichenfolge
Der optionale Ausdruck in einer throw
Anweisung kann eine Zeichenfolge sein, wie im folgenden Beispiel gezeigt:
throw "This is an error."
Exception: This is an error.
Auslösen anderer Objekte
Der Ausdruck kann auch ein Objekt sein, das das Objekt auslöst, das den PowerShell-Prozess darstellt, wie im folgenden Beispiel gezeigt:
throw (Get-Process pwsh)
Exception: System.Diagnostics.Process (pwsh) System.Diagnostics.Process (pwsh) System.Diagnostics.Process (pwsh)
Sie können die TargetObject-Eigenschaft des ErrorRecord-Objekts in der $Error
automatischen Variablen verwenden, um den Fehler zu untersuchen.
$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
Sie können auch throw
ein ErrorRecord-Objekt oder eine .NET-Ausnahme verwenden. Im folgenden Beispiel wird das throw
Schlüsselwort (keyword) verwendet, um ein System.FormatException -Objekt auszuwerfen.
$formatError = New-Object System.FormatException
throw $formatError
OperationStopped: One of the identified items was in an invalid format.
Der resultierende Fehler
Der throw
Schlüsselwort (keyword) kann ein ErrorRecord-Objekt generieren. Die Exception-Eigenschaft des ErrorRecord -Objekts enthält ein RuntimeException -Objekt.
Der re Standard der des ErrorRecord-Objekts und des RuntimeException-Objekts variiert je nach ausgelösten Objekt.
Das throw
Objekt wird in ein ErrorRecord-Objekt eingeschlossen, und das ErrorRecord-Objekt wird automatisch in der $Error
automatischen Variablen gespeichert.
Verwenden throw
zum Erstellen eines obligatorischen Parameters
Verwenden Sie im Gegensatz zu früheren Versionen von PowerShell nicht die Schlüsselwort (keyword) für die throw
Parameterüberprüfung. Informationen zur richtigen Vorgehensweise finden Sie unter about_Functions_Advanced_Parameters .