Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Krótki opis
throw Opisuje słowo kluczowe, które generuje błąd zakończenia.
Długi opis
Słowo throw kluczowe powoduje błąd zakończenia. Słowo kluczowe umożliwia throw zatrzymanie przetwarzania polecenia, funkcji lub skryptu.
Można na przykład użyć throw słowa kluczowego w bloku skryptu instrukcjiif, aby odpowiedzieć na warunek lub w catch bloku instrukcjitry-catch-finally.
Słowo throw kluczowe może zgłaszać dowolny obiekt, taki jak ciąg komunikatu użytkownika lub obiekt, który spowodował błąd.
Składnia
Składnia słowa kluczowego throw jest następująca:
throw [<expression>]
Wyrażenie w throw składni jest opcjonalne.
throw Gdy instrukcja nie jest wyświetlana w catch bloku i nie zawiera wyrażenia, generuje błąd ScriptHalted.
throw
Exception: ScriptHalted
throw Jeśli słowo kluczowe jest używane w catch bloku bez wyrażenia, ponownie zgłasza bieżący wyjątek RuntimeException. Aby uzyskać więcej informacji, zobacz about_Try_Catch_Finally.
Zgłaszanie ciągu
Opcjonalne wyrażenie w instrukcji throw może być ciągiem, jak pokazano w poniższym przykładzie:
throw "This is an error."
Exception: This is an error.
Zgłaszanie innych obiektów
Wyrażenie może być również obiektem, który zgłasza obiekt reprezentujący proces programu PowerShell, jak pokazano w poniższym przykładzie:
throw (Get-Process pwsh)
Exception: System.Diagnostics.Process (pwsh) System.Diagnostics.Process (pwsh) System.Diagnostics.Process (pwsh)
Aby sprawdzić błąd, możesz użyć właściwości TargetObject obiektu ErrorRecord.
$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
Można również throw utworzyć obiekt ErrorRecord lub wyjątek platformy .NET. W poniższym przykładzie użyto słowa kluczowego throw, aby zgłosić obiekt System.FormatException .
$formatError = New-Object System.FormatException
throw $formatError
OperationStopped: One of the identified items was in an invalid format.
Wynikowy błąd
Słowo throw kluczowe może wygenerować obiekt ErrorRecord . Właściwość Exception obiektu ErrorRecord zawiera obiekt RuntimeException.
Pozostała część obiektu ErrorRecord i obiektu RuntimeException różnią się w zależności od zwróconego obiektu.
Obiekt throw jest opakowany w obiekt ErrorRecord , a obiekt ErrorRecord jest automatycznie zapisywany w zmiennej automatycznej $Error .
Używanie throw polecenia w celu utworzenia obowiązkowego parametru
W przeciwieństwie do poprzednich wersji programu PowerShell, nie używaj słowa kluczowego throw do sprawdzania poprawności parametrów. Aby uzyskać właściwy sposób, zobacz about_Functions_Advanced_Parameters .