#PSTip Ignoring errors

Note: Esta dica requer PowerShell 3.0 ou superior.

PowerShell permite-lhe controlar a forma como responde a um erro não terminante (um erro que não pára o processamento cmdlet) globalmente através da variável de preferência $ErrorActionPreference, ou a um nível cmdlet usando o parâmetro -ErrorAction. Ambas as maneiras suportam os seguintes valores:

Stop: Exibe a mensagem de erro e pára a execução.
Inquire: Exibe a mensagem de erro e pergunta se você quer continuar.
Continuar: Exibe a mensagem de erro e continua (Default) executando.
SilentlyContinue: Sem efeito. A mensagem de erro não é exibida e a execução continua sem interrupção.

Não importa qual valor você escolha, o erro é escrito no host e adicionado à variável $error. Começando com PowerShell 3.0, apenas em um nível de comando (por exemplo ErrorAction), nós temos um valor adicional: Ignorar. Quando Ignorar é especificado, o erro não é exibido não adicionado à variável $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