#PSTip Ignorare gli errori

Nota: Questo suggerimento richiede PowerShell 3.0 o superiore.

PowerShell ti permette di controllare come risponde a un errore non terminante (un errore che non ferma l’elaborazione della cmdlet) globalmente tramite la variabile di preferenza $ErrorActionPreference, o a livello di cmdlet usando il parametro -ErrorAction. Entrambi i modi supportano i seguenti valori:

Stop: Visualizza il messaggio di errore e ferma l’esecuzione.
Inquire: Visualizza il messaggio di errore e ti chiede se vuoi continuare.
Continue: Visualizza il messaggio di errore e continua (Default) l’esecuzione.
SilentlyContinue: Nessun effetto. Il messaggio di errore non viene visualizzato e l’esecuzione continua senza interruzioni.

Non importa quale valore scegliete, l’errore viene scritto sull’host e aggiunto alla variabile $error. A partire da PowerShell 3.0, solo a livello di comando (es. ErrorAction), abbiamo un valore aggiuntivo: Ignore. Quando Ignore è specificato, l’errore non viene visualizzato né aggiunto alla variabile $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