#PSTip Ignorering af fejl

Bemærk: Dette tip kræver PowerShell 3.0 eller nyere.

PowerShell lader dig styre, hvordan den reagerer på en fejl, der ikke afsluttes (en fejl, der ikke stopper cmdletbehandlingen), globalt via præferencevariablen $ErrorActionPreference eller på cmdlet-niveau ved hjælp af parameteren -ErrorAction. Begge måder understøtter følgende værdier:

Stop: Viser fejlmeddelelsen og stopper eksekveringen.
Inquire: Viser fejlmeddelelsen og spørger dig, om du vil fortsætte.
Fortsæt: Viser fejlmeddelelsen og fortsætter (Standard) med at udføre.
SilentlyContinue: Viser fejlmeddelelsen og fortsætter (Standard) med at udføre.
SilentlyContinue: Viser fejlmeddelelsen og fortsætter: Ingen virkning. Fejlmeddelelsen vises ikke, og udførelsen fortsætter uden afbrydelse.

Uanset hvilken værdi du vælger, skrives fejlen til værten og tilføjes til variablen $error. Fra og med PowerShell 3.0, kun på kommandoniveau (f.eks. ErrorAction), har vi en ekstra værdi: Ignorer. Når Ignore er angivet, bliver fejlen hverken vist eller tilføjet til variablen $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