Búsqueda de sitios web

PowerShell: diferencia entre la declaración Break y Throw


Si es un programador de scripts de PowerShell, es posible que se haya encontrado con dos declaraciones de código que no son exclusivas de PowerShell: Break y Throw. En esta entrada del blog llevaré a cabo algunos ejemplos para arrojar algo de luz sobre estas afirmaciones tan importantes.

Romper

Las declaraciones de interrupción hacen que PowerShell salga inmediatamente del bucle. Lo más importante aquí es tener en cuenta que break sólo sale del bucle que está procesado actualmente.

He preparado un breve ejemplo para una mejor comprensión. Aquí lo tienes.


do {

$q=Read-Host "Enter your name or press Q to quit"

do {

$a=Read-Host "Enter your age or press Q to quit"

If ($a -ge '100')

{break}

}

until ($a -eq 'Q')

}

until ($q -eq 'Q')

En la Línea 11 aparece una declaración de descanso. Esa declaración de interrupción hará que el segundo bucle salga si ingresa una edad mayor a 100. Sin embargo, no saldrá del script completo. Todavía estaremos allí, es decir, en el primer bucle que pregunta nuestro nombre.

Lanzar o en otras palabras Game Over

A diferencia de break, throw terminará todo el script. Es fácil, si se cumple la condición, se acabó el juego ;-). Tenga en cuenta que se puede dar un mensaje. En mi caso es "Error". Entonces, throw admite la entrada del usuario que se representa como un mensaje de error.


do {

$q=Read-Host "Enter your name or press Q to quit"

do {

$a=Read-Host "Enter your age or press Q to quit"

If ($a -ge '100')

{throw "Error"}

}

until ($a -eq 'Q')

}

until ($q -eq 'Q')

¡Hasta la próxima con PowerShell!

Artículos relacionados