Вы находитесь на странице: 1из 4

DESCRIPCI�N BREVE

Describe c�mo se usan los bloques Try, Catch y Finally para


controlar los errores de terminaci�n.

DESCRIPCI�N DETALLADA
Utilice los bloques Try, Catch y Finally para responder a, o
controlar, los errores de terminaci�n en scripts. La instrucci�n Trap
tambi�n se puede utilizar para controlar los errores de terminaci�n
en scripts. Para obtener m�s informaci�n, vea about_Trap.

Un error de terminaci�n detiene la ejecuci�n de una instrucci�n.


Si Windows PowerShell no controla un error de terminaci�n de
alg�n modo, tambi�n se detendr� la ejecuci�n de la funci�n o
script que est� utilizando la canalizaci�n actual. En otros
lenguajes, como C#, los errores de terminaci�n reciben el nombre de
excepciones. Para obtener m�s informaci�n sobre los errores, vea
about_Errors.

Utilice el bloque Try para definir una secci�n de un script en


que se desea que Windows PowerShell supervise los errores. Cuando
se produce un error dentro del bloque Try, se guarda primero en
la variable autom�tica $Error. A continuaci�n, Windows PowerShell
busca un bloque Catch para controlar el error. Si la instrucci�n
Try no tiene un bloque Catch correspondiente, Windows PowerShell
contin�a buscando la instrucci�n Trap o el bloque Catch
apropiados en los �mbitos principales. Despu�s de completarse un
bloque Catch o si no se encuentra ning�n bloque Catch o
instrucci�n Trap apropiados, se ejecuta el bloque Finally. Si el
error no se puede controlar, se escribe en la secuencia de error.

Un bloque Catch puede incluir comandos para realizar el


seguimiento del error o para recuperar el flujo esperado del
script. Adem�s, puede especificar qu� tipos de error detecta. Una
instrucci�n Try puede incluir varios bloques Catch para diferentes
tipos de errores.

Un bloque Finally se puede utilizar para liberar los recursos que


el script ya no necesita.

Try, Catch y Finally son semejantes a las palabras clave Try, Catch y
Finally utilizadas en el lenguaje de programaci�n C#.

Sintaxis
Una instrucci�n Try contiene un bloque Try, ninguno o varios
bloques Catch y ninguno o un bloque Finally. Adem�s, debe tener
un bloque Catch o un bloque Finally por lo menos.

A continuaci�n se muestra la sintaxis del bloque Try:

try {<lista de instrucciones>}


Una palabra clave Try va seguida de una lista de instrucciones entre
llaves. Si se produce un error de terminaci�n mientras se est�n
ejecutando las instrucciones de la lista de instrucciones, el script
pasar� el objeto de error del bloque Try a un bloque Catch adecuado.

A continuaci�n se muestra la sintaxis del bloque Catch:

catch [[<tipo de error>][',' <error type>]*] {<lista de


instrucciones>}

Los tipos de error se muestran entre corchetes. Los corchetes


m�s externos indican que el elemento es opcional.

La palabra clave Catch va seguida de una lista opcional de


especificaciones de tipo de error y una lista de instrucciones. Si se
produce un error de terminaci�n en el bloque Try, Windows PowerShell
busca un bloque Catch adecuado. Si encuentra uno, se ejecutan las
instrucciones del citado bloque.

El bloque Catch puede especificar uno o varios tipos de error.


Un tipo de error es una excepci�n de Microsoft .NET Framework o una
excepci�n derivada de una excepci�n de .NET Framework. Un bloque
Catch controla los errores de la clase de excepci�n de .NET Framework
especificada o de cualquier clase derivada de la clase especificada.

Si un bloque Catch especifica un tipo de error, controla ese


tipo de error. Si un bloque Catch no especifica un tipo de
error, controla los errores encontrados en el bloque Try. Una
instrucci�n Try puede incluir varios bloques Catch para los
diferentes tipos de error especificados.

A continuaci�n se muestra la sintaxis del bloque Finally:

finally {<lista de instrucciones>}

La palabra clave Finally va seguida de una lista de


instrucciones que se ejecuta cada vez que se ejecuta el script,
aunque la instrucci�n Try se haya ejecutado sin error o se haya
detectado un error en una instrucci�n Catch.

Observe que al presionar CTRL+C, se detiene la canalizaci�n.


Los objetos que se env�an a la canalizaci�n no se mostrar�n
como resultado. Por consiguiente, si incluye una instrucci�n
para que se muestre, como "El bloque Finally se ha ejecutado", no se
mostrar� despu�s de presionar CTRL+C, aunque se haya ejecutado el
bloque Finally.

Detectar errores
El script de ejemplo siguiente muestra un bloque Try con un
bloque Catch:

try { CadenaSinSentido }
catch { "Se ha producido un error." }

La palabra clave Catch debe seguir inmediatamente al bloque Try


o a otro bloque Catch.

Windows PowerShell no reconoce "CadenaSinSentido" como cmdlet u otro


elemento. La ejecuci�n de este script devuelve el resultado siguiente:

Se ha producido un error.

Cuando el script encuentra "CadenaSinSentido", se produce un


error de terminaci�n. El bloque Catch controla el error
ejecutando la lista de instrucciones incluida en el bloque.

Usar varias instrucciones Catch


Una instrucci�n Try puede tener cualquier n�mero de bloques
Catch. Por ejemplo, el script siguiente tiene un bloque Try que
descarga MyFile.doc y contiene dos bloques Catch:

try
{
$wc = new-object System.Net.WebClient
$wc.DownloadFile("http://www.contoso.com/MyDoc.doc") }
catch [System.Net.WebException],[System.IO.IOException] {
"No se puede descargar MyDoc.doc de http://www.contoso.c
om." }
catch
{
"Se ha producido un error que no se puede resolver." }

El primer bloque Catch controla los errores de los tipos de


excepci�n System.Net.WebException y System.IO.IOException. El
segundo bloque Catch no especifica un tipo de error. Este
segundo bloque controla los dem�s errores de terminaci�n que se
producen.

Windows PowerShell busca los tipos de error por herencia. Un


bloque Catch controla los errores de la clase de excepci�n de .NET
Framework especificada o de cualquier clase derivada de la clase
especificada. El ejemplo siguiente contiene un bloque Catch que
detecta un error de tipo "Comando no encontrado":

catch [System.Management.Automation.CommandNotFoundException]
{"Excepci�n heredada" }

El tipo de error especificado, CommandNotFoundException, se


hereda del tipo System.SystemException. El ejemplo siguiente tambi�n
detecta un error de tipo Comando no encontrado:
catch [System.SystemException] {"Excepci�n base" }

Este bloque Catch controla el error de tipo "Comando no


encontrado" y otros errores que se heredan del tipo SystemException.

Si especifica una clase de error y una de sus clases derivadas,


coloque el bloque Catch correspondiente a la clase derivada
delante del bloque Catch correspondiente a la clase general.

Liberar recursos usando Finally


Para liberar los recursos utilizados por un script, agregue un
bloque Finally detr�s de los bloques Catch y Try. Las
instrucciones del bloque Finally se ejecutan con independencia
de que el bloque Try encuentre un error de terminaci�n. Windows
PowerShell ejecuta el bloque Finally antes de que el script
finalice o antes de que el bloque actual salga del �mbito.

Un bloque Finally se ejecuta aunque se utilice CTRL+C para


detener el script. Tambi�n se ejecuta si una palabra clave Exit
detiene el script desde un bloque Catch.

VEA TAMBI�N
about_Errors
about_Trap

Вам также может понравиться

  • Licenc
    Licenc
    Документ8 страниц
    Licenc
    gonashcroft1
    Оценок пока нет
  • Add Device
    Add Device
    Документ3 страницы
    Add Device
    gonashcroft1
    Оценок пока нет
  • License
    License
    Документ14 страниц
    License
    r_navarro_de_la_Hoz
    Оценок пока нет
  • About Command Precedence - Help
    About Command Precedence - Help
    Документ5 страниц
    About Command Precedence - Help
    Aaron Dawson
    Оценок пока нет
  • About Break - Help
    About Break - Help
    Документ4 страницы
    About Break - Help
    Jed Williams
    Оценок пока нет
  • About Command Syntax - Help
    About Command Syntax - Help
    Документ3 страницы
    About Command Syntax - Help
    Ederson Elcorel
    Оценок пока нет
  • About Automatic Variables - Help
    About Automatic Variables - Help
    Документ6 страниц
    About Automatic Variables - Help
    Jed Williams
    Оценок пока нет
  • Flig Sim X Inst
    Flig Sim X Inst
    Документ7 страниц
    Flig Sim X Inst
    gonashcroft1
    Оценок пока нет
  • 577149
    577149
    Документ119 страниц
    577149
    gonashcroft1
    Оценок пока нет
  • About Arrays - Help
    About Arrays - Help
    Документ5 страниц
    About Arrays - Help
    Jed Williams
    Оценок пока нет
  • Error Es
    Error Es
    Документ5 страниц
    Error Es
    gonashcroft1
    Оценок пока нет
  • Civty
    Civty
    Документ25 страниц
    Civty
    gonashcroft1
    Оценок пока нет
  • Errores 2
    Errores 2
    Документ1 страница
    Errores 2
    gonashcroft1
    Оценок пока нет
  • Operators
    Operators
    Документ3 страницы
    Operators
    gonashcroft1
    Оценок пока нет
  • FX
    FX
    Документ1 страница
    FX
    gonashcroft1
    Оценок пока нет
  • MDM
    MDM
    Документ1 страница
    MDM
    Aure OùetQuand
    Оценок пока нет
  • Primer R
    Primer R
    Документ2 страницы
    Primer R
    gonashcroft1
    Оценок пока нет
  • FSX Comandos Teclado
    FSX Comandos Teclado
    Документ5 страниц
    FSX Comandos Teclado
    wolesi
    100% (3)
  • Wind Efect
    Wind Efect
    Документ1 страница
    Wind Efect
    gonashcroft1
    Оценок пока нет
  • Tutorial de ILS (Instrumental Landing System)
    Tutorial de ILS (Instrumental Landing System)
    Документ4 страницы
    Tutorial de ILS (Instrumental Landing System)
    electronico69
    Оценок пока нет
  • Anato
    Anato
    Документ2 страницы
    Anato
    gonashcroft1
    Оценок пока нет
  • Tkoff
    Tkoff
    Документ3 страницы
    Tkoff
    Julio Serna
    Оценок пока нет
  • Nuevo Documento de Texto
    Nuevo Documento de Texto
    Документ1 страница
    Nuevo Documento de Texto
    gonashcroft1
    Оценок пока нет
  • Instrucciones
    Instrucciones
    Документ1 страница
    Instrucciones
    gonashcroft1
    Оценок пока нет
  • Instrucciones
    Instrucciones
    Документ1 страница
    Instrucciones
    gonashcroft1
    Оценок пока нет
  • Inst Fs9 Scenary
    Inst Fs9 Scenary
    Документ27 страниц
    Inst Fs9 Scenary
    gonashcroft1
    Оценок пока нет
  • Re Ci 002
    Re Ci 002
    Документ12 страниц
    Re Ci 002
    gonashcroft1
    Оценок пока нет
  • Cuadernillo Tecnicosv0 PDF
    Cuadernillo Tecnicosv0 PDF
    Документ11 страниц
    Cuadernillo Tecnicosv0 PDF
    gonashcroft1
    Оценок пока нет
  • Caracteristicas Kendal
    Caracteristicas Kendal
    Документ1 страница
    Caracteristicas Kendal
    gonashcroft1
    Оценок пока нет
  • Teoria de Punteros y Paradigma de Programacion
    Teoria de Punteros y Paradigma de Programacion
    Документ9 страниц
    Teoria de Punteros y Paradigma de Programacion
    JonasJosTlasjiano
    Оценок пока нет
  • DREAMWEAVER
    DREAMWEAVER
    Документ3 страницы
    DREAMWEAVER
    Samuel_Narvaez_C
    Оценок пока нет
  • Presentacion 4 Semestre
    Presentacion 4 Semestre
    Документ28 страниц
    Presentacion 4 Semestre
    Carlos Martinez Ortiz
    Оценок пока нет
  • Practicas Labview
    Practicas Labview
    Документ23 страницы
    Practicas Labview
    ALBERTO ALVARADO CARRILLO
    Оценок пока нет
  • Introducción A Java JAXB y El Manejo de XML22
    Introducción A Java JAXB y El Manejo de XML22
    Документ5 страниц
    Introducción A Java JAXB y El Manejo de XML22
    Luisfer Flores Sanchez
    Оценок пока нет
  • Ejercicios s03.s1
    Ejercicios s03.s1
    Документ3 страницы
    Ejercicios s03.s1
    nezzar
    Оценок пока нет
  • Doc-20.2 - HOJA DE VIDA PABLO PEREZ - GERENTE PDF
    Doc-20.2 - HOJA DE VIDA PABLO PEREZ - GERENTE PDF
    Документ4 страницы
    Doc-20.2 - HOJA DE VIDA PABLO PEREZ - GERENTE PDF
    Jorge Prieto
    Оценок пока нет
  • Comunicación EAC Ideas Kaizen y Premios - 04262023
    Comunicación EAC Ideas Kaizen y Premios - 04262023
    Документ12 страниц
    Comunicación EAC Ideas Kaizen y Premios - 04262023
    Luis Carlos Garcia
    Оценок пока нет
  • 16 Fetch Api JavaScript
    16 Fetch Api JavaScript
    Документ12 страниц
    16 Fetch Api JavaScript
    Brayan Quintero
    Оценок пока нет
  • Ficha Trabajo 3 - Descargar Ubuntu
    Ficha Trabajo 3 - Descargar Ubuntu
    Документ4 страницы
    Ficha Trabajo 3 - Descargar Ubuntu
    LLanos Rodriguez Serrano
    Оценок пока нет
  • Laboratorio 6 - BDII - 2021
    Laboratorio 6 - BDII - 2021
    Документ13 страниц
    Laboratorio 6 - BDII - 2021
    Luis Samaniego
    Оценок пока нет
  • C1 - P1 - 20 - 21. Introducción A La POO Usando C++ y A La Algoritmización.
    C1 - P1 - 20 - 21. Introducción A La POO Usando C++ y A La Algoritmización.
    Документ13 страниц
    C1 - P1 - 20 - 21. Introducción A La POO Usando C++ y A La Algoritmización.
    barbarojaviermolinamenendez
    Оценок пока нет
  • PIAD 201910 - Ingeniería de Software Con Inteligencia Artificial
    PIAD 201910 - Ingeniería de Software Con Inteligencia Artificial
    Документ6 страниц
    PIAD 201910 - Ingeniería de Software Con Inteligencia Artificial
    henry ct
    100% (1)
  • 14530476
    14530476
    Документ14 страниц
    14530476
    Jesus Arvizu Aguilar
    Оценок пока нет
  • Software
    Software
    Документ24 страницы
    Software
    Francisco Justiniano
    Оценок пока нет
  • Lenguajes de Programacion PDF
    Lenguajes de Programacion PDF
    Документ16 страниц
    Lenguajes de Programacion PDF
    Dey Dii Rovira
    Оценок пока нет
  • Manual de Uso de La Biblioteca Uvirtual
    Manual de Uso de La Biblioteca Uvirtual
    Документ23 страницы
    Manual de Uso de La Biblioteca Uvirtual
    JAIME
    Оценок пока нет
  • Sistemas Digitales II Lab7
    Sistemas Digitales II Lab7
    Документ6 страниц
    Sistemas Digitales II Lab7
    Natalia Berrocal Gámez
    Оценок пока нет
  • Entrega 3
    Entrega 3
    Документ2 страницы
    Entrega 3
    Cristian Andrés Torres Cardozo
    Оценок пока нет
  • Atributos en C#
    Atributos en C#
    Документ4 страницы
    Atributos en C#
    Andres1929
    100% (1)
  • Informe Sobre Los Lenguajes de Programación
    Informe Sobre Los Lenguajes de Programación
    Документ18 страниц
    Informe Sobre Los Lenguajes de Programación
    Oscar Valladares
    Оценок пока нет
  • Programacion Anual Tecnología e Informática 20223
    Programacion Anual Tecnología e Informática 20223
    Документ16 страниц
    Programacion Anual Tecnología e Informática 20223
    Jonatan Lizarazo Macias
    Оценок пока нет
  • 04 Isc 418 Tesis de Grado
    04 Isc 418 Tesis de Grado
    Документ141 страница
    04 Isc 418 Tesis de Grado
    Carlos Luis
    Оценок пока нет
  • SINU-153 Material de Reforzamiento U2
    SINU-153 Material de Reforzamiento U2
    Документ9 страниц
    SINU-153 Material de Reforzamiento U2
    Gabriel Bernal
    Оценок пока нет
  • Evaluacion Semana 5 Introduccion A La Programacion
    Evaluacion Semana 5 Introduccion A La Programacion
    Документ10 страниц
    Evaluacion Semana 5 Introduccion A La Programacion
    Sergio gutierrez tettamanti
    Оценок пока нет
  • 5 Desarrollo de Aplicaciones en Web
    5 Desarrollo de Aplicaciones en Web
    Документ6 страниц
    5 Desarrollo de Aplicaciones en Web
    Jesus Espejo
    Оценок пока нет
  • Instalando IRAF
    Instalando IRAF
    Документ7 страниц
    Instalando IRAF
    RODRIGO ALONZO VELASQUEZ FLORES
    Оценок пока нет
  • Microsoft Azure-Fran Huzón
    Microsoft Azure-Fran Huzón
    Документ38 страниц
    Microsoft Azure-Fran Huzón
    ramel
    Оценок пока нет
  • POO - Lenguaje 2
    POO - Lenguaje 2
    Документ15 страниц
    POO - Lenguaje 2
    Jared Salgado
    Оценок пока нет
  • Ejercicio en Clases Sec
    Ejercicio en Clases Sec
    Документ9 страниц
    Ejercicio en Clases Sec
    Jorge Alberto Galan
    Оценок пока нет