#PSTip Ignorieren von Fehlern

Hinweis: Für diesen Tipp ist PowerShell 3.0 oder höher erforderlich.

Mit PowerShell können Sie steuern, wie auf einen nicht abbrechenden Fehler (ein Fehler, der die Cmdlet-Verarbeitung nicht anhält) global über die Präferenzvariable $ErrorActionPreference oder auf Cmdlet-Ebene mit dem Parameter -ErrorAction reagiert wird. Beide Möglichkeiten unterstützen die folgenden Werte:

Stop: Zeigt die Fehlermeldung an und hält die Ausführung an.
Inquire: Zeigt die Fehlermeldung an und fragt Sie, ob Sie fortfahren möchten.
Weiterführen: Zeigt die Fehlermeldung an und setzt die Ausführung fort (Standard).
SilentlyContinue: Keine Auswirkung. Die Fehlermeldung wird nicht angezeigt und die Ausführung wird ohne Unterbrechung fortgesetzt.

Unabhängig davon, welchen Wert Sie wählen, wird der Fehler auf den Host geschrieben und der Variablen $error hinzugefügt. Ab PowerShell 3.0 gibt es nur auf Befehlsebene (z. B. ErrorAction) einen zusätzlichen Wert: Ignorieren. Wenn Ignore angegeben ist, wird der Fehler weder angezeigt noch zur Variablen $error hinzugefügt.

# 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