about_Throw
Describe la throw
palabra clave que genera un error de terminación.
La throw
palabra clave produce un error de terminación. Puede usar la throw
palabra clave para detener el procesamiento de un comando, una función o un script.
Por ejemplo, puede usar la throw
palabra clave en el bloque de script de una if
instrucción para responder a una condición o en el catch
bloque de unatry
-catch
-finally
instrucción .
La throw
palabra clave puede producir cualquier objeto, como una cadena de mensaje de usuario o el objeto que provocó el error.
La sintaxis de la throw
palabra clave es la siguiente:
throw [<expression>]
La expresión de la throw
sintaxis es opcional. Cuando la throw
instrucción no aparece en un catch
bloque y no incluye una expresión, genera un error ScriptHalted .
throw
ScriptHalted
At line:1 char:6
+ throw <<<<
+ CategoryInfo : OperationStopped: (:) [], RuntimeException
+ FullyQualifiedErrorId : ScriptHalted
Si la throw
palabra clave se usa en un catch
bloque sin una expresión, inicia de nuevo la excepción RuntimeException actual. Para obtener más información, consulte about_Try_Catch_Finally.
La expresión opcional de una throw
instrucción puede ser una cadena, como se muestra en el ejemplo siguiente:
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.
La expresión también puede ser un objeto que produce el objeto que representa el proceso de PowerShell, como se muestra en el ejemplo siguiente:
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)
Puede usar la propiedad TargetObject del objeto ErrorRecord en la $Error
variable automática para examinar el error.
$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
También throw
puede un objeto ErrorRecord o una excepción de .NET. En el ejemplo siguiente se usa la throw
palabra clave para iniciar un objeto System.FormatException .
$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.
La throw
palabra clave puede generar un objeto ErrorRecord . La propiedad Exception del objeto ErrorRecord contiene un objeto RuntimeException .
El resto del objeto ErrorRecord y el objeto RuntimeException varía en función del objeto producido.
El throw
objeto se ajusta en un objeto ErrorRecord y el objeto ErrorRecord se guarda automáticamente en la $Error
variable automática.
A diferencia de las versiones anteriores de PowerShell, no use la palabra clave para la throw
validación de parámetros. Consulte about_Functions_Advanced_Parameters para obtener la manera correcta.
Comentarios de PowerShell
PowerShell es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: