try power error ejemplos catch powershell scripting try-catch

powershell - error - try catch power shell



¿Tiene Windows Powershell un Try/Catch u otro mecanismo de manejo de errores? (3)

Aquí hay alguien (Adam Weigert) que implementó try / catch / finalmente usando powershell. Yo uso esto en lugar del staement de trampa incorporado. Parece más natural.

http://weblogs.asp.net/adweigert/archive/2007/10/10/powershell-try-catch-finally-comes-to-life.aspx

En una secuencia de comandos, cuando un comando-let u otra instrucción ejecutable se equivoca, ¿hay algún tipo de mecanismo de prueba / captura para recuperarse de estos errores? No me he encontrado con ninguno en la documentación.


He escrito sobre esto en mi columna de TechNet Magazine (technetmagazine.com, si está interesado).

Primero, PowerShell v2 tendrá una captura Try ... estándar, que es genial.

El shell existente (v1) tiene soporte para construcciones trap {}. Estos deben definirse antes de que ocurra la excepción. Además, la mayoría de los cmdlets requieren un parámetro -EA "STOP" para que generen una excepción interceptable. Las trampas se pueden definir en cualquier ámbito, y "burbujearán" hasta quedar atrapadas o hasta que alcancen el alcance global (shell).

Al final de una trampa, ejecute Continuar para volver a la siguiente línea de código en el mismo ámbito que la trampa, o ejecute Romper para abandonar el alcance actual y lanzar la excepción hacia arriba.


Utiliza un bloque Trap [exception-type] {} antes del código para el que desea gestionar las excepciones.