#PSTip Ignorar errores

Nota: Este consejo requiere PowerShell 3.0 o superior.

PowerShell le permite controlar cómo responde a un error que no termina (un error que no detiene el procesamiento del cmdlet) globalmente a través de la variable de preferencia $ErrorActionPreference, o a nivel de cmdlet utilizando el parámetro -ErrorAction. Ambas formas admiten los siguientes valores:

Stop: Muestra el mensaje de error y detiene la ejecución.
Inquire: Muestra el mensaje de error y pregunta si se desea continuar.
Continuar: Muestra el mensaje de error y continúa (por defecto) la ejecución.
Continuar en silencio: Sin efecto. No se muestra el mensaje de error y la ejecución continúa sin interrupción.

Sin importar el valor que elijas, el error se escribe en el host y se añade a la variable $error. A partir de PowerShell 3.0, sólo a nivel de comando (por ejemplo ErrorAction), tenemos un valor adicional: Ignorar. Cuando se especifica Ignorar, el error no se muestra ni se añade a la variable $error.

# check the error countPS> $error.Count0# use SilentlyContinue to ignore the errorPS> Get-ChildItem NoSuchFile -ErrorAction SilentlyContinue# error is ignored but is added to the $error variablePS> $error.Count1PS> $error.Clear()# Using Ignore truly discards the error and the error is not added to $error variablePS> Get-ChildItem NoSuchFile -ErrorAction IgnorePS> $error.Count0