Freigeben über


Konzepte der Fehlerberichterstattung

Windows PowerShell bietet zwei Mechanismen zum Melden von Fehlern: einen Mechanismus zum Beenden von Fehlern und einen anderen Mechanismus für nicht beendeten Fehler. Es ist wichtig, dass Ihr Cmdlet Fehler richtig meldet, damit die Hostanwendung, die Ihre Cmdlets ausführt, auf geeignete Weise reagieren kann.

Das Cmdlet sollte die System.Management.Automation.Cmdlet.ThrowTerminatingError* Methode aufrufen, wenn ein Fehler auftritt, der nicht oder nicht zulassen sollte, dass das Cmdlet seine Eingabeobjekte weiter verarbeitet. Das Cmdlet sollte die System.Management.Automation.Cmdlet.WriteError Methode aufrufen, um nicht beendete Fehler zu melden, wenn das Cmdlet die Verarbeitung der Eingabeobjekte fortsetzen kann. Beide Methoden stellen einen Fehlerdatensatz bereit, den die Hostanwendung verwenden kann, um die Ursache des Fehlers zu untersuchen.

Verwenden Sie die folgenden Richtlinien, um zu bestimmen, ob ein Fehler ein beendeter oder nicht beendeter Fehler ist.

  • Ein Fehler ist ein Abbruchfehler, wenn es verhindert, dass ihr Cmdlet das aktuelle Objekt verarbeitet oder alle weiteren Eingabeobjekte unabhängig vom Inhalt erfolgreich verarbeitet.

  • Ein Fehler ist ein Abbruchfehler, wenn Das Cmdlet die Verarbeitung des aktuellen Objekts oder weiterer Eingabeobjekte unabhängig vom Inhalt nicht fortsetzen soll.

  • Ein Fehler ist ein Abbruchfehler, wenn er in einem Cmdlet auftritt, das ein Objekt nicht akzeptiert oder zurückgibt oder in einem Cmdlet auftritt, das nur ein Objekt akzeptiert oder zurückgibt.

  • Ein Fehler ist ein nicht beendeter Fehler, wenn Das Cmdlet die Verarbeitung des aktuellen Objekts und aller weiteren Eingabeobjekte fortsetzen soll.

  • Ein Fehler ist ein nicht beendeter Fehler, wenn er sich auf ein bestimmtes Eingabeobjekt oder eine Teilmenge von Eingabeobjekten bezieht.

Siehe auch

System.Management.Automation.Cmdlet.ThrowTerminatingError*

System.Management.Automation.Cmdlet.WriteError

Windows PowerShell-Fehlerdatensätze

Schreiben eines Windows PowerShell-Cmdlets