#PSTip Negeren van fouten

Note: Deze tip vereist PowerShell 3.0 of hoger.

PowerShell laat je bepalen hoe het reageert op een niet-beëindigende fout (een fout die de verwerking van het cmdlet niet stopt) globaal via de $ErrorActionPreference voorkeursvariabele, of op cmdlet-niveau met de -ErrorAction parameter. Beide manieren ondersteunen de volgende waarden:

Stop: Geeft de foutmelding weer en stopt het uitvoeren.
Inquire: Geeft de foutmelding weer en vraagt of u wilt doorgaan.
Doorgaan: Geeft de foutmelding weer en gaat (Standaard) door met uitvoeren.
SilentlyContinue: Geen effect. De foutmelding wordt niet weergegeven en de uitvoering gaat zonder onderbreking door.

Welke waarde u ook kiest, de fout wordt naar de host geschreven en toegevoegd aan de variabele $error. Vanaf PowerShell 3.0, alleen op opdrachtniveau (bijv. ErrorAction), hebben we een extra waarde: Ignore. Wanneer Negeren is opgegeven, wordt de fout niet weergegeven en niet toegevoegd aan de variabele $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