Udostępnij za pomocą


Pojęcia dotyczące raportowania błędów

Program Windows PowerShell udostępnia dwa mechanizmy raportowania błędów: jeden mechanizm kończenie błędów i inny mechanizm błędów niepowodujących zakończenia. Ważne jest, aby polecenie cmdlet prawidłowo zgłaszało błędy, aby aplikacja hosta uruchamiana przez twoje polecenia cmdlet mogła reagować w odpowiedni sposób.

Polecenie cmdlet powinno wywołać metodę System.Management.Automation.Cmdlet.ThrowTerminatingError*, gdy wystąpi błąd, który nie lub nie powinien zezwalać na dalsze przetwarzanie obiektów wejściowych polecenia cmdlet. Polecenie cmdlet powinno wywołać metodę System.Management.Automation.Cmdlet.WriteError w celu zgłaszania błędów niepowodujących zakończenia, gdy polecenie cmdlet może kontynuować przetwarzanie obiektów wejściowych. Obie metody zawierają rekord błędu, którego aplikacja hosta może użyć do zbadania przyczyny błędu.

Skorzystaj z poniższych wskazówek, aby określić, czy błąd jest błędem zakończenia, czy błędem niepowodującym zakończenia.

  • Błąd jest błędem zakończenia, jeśli uniemożliwia on kontynuowanie przetwarzania bieżącego obiektu lub pomyślne przetwarzanie dalszych obiektów wejściowych, niezależnie od ich zawartości.

  • Błąd jest błędem zakończenia, jeśli polecenie cmdlet nie ma kontynuować przetwarzania bieżącego obiektu lub innych obiektów wejściowych, niezależnie od ich zawartości.

  • Błąd jest błędem zakończenia, jeśli występuje w poleceniu cmdlet, które nie akceptuje lub nie zwraca obiektu lub występuje w poleceniu cmdlet, które akceptuje lub zwraca tylko jeden obiekt.

  • Błąd jest błędem niepowodującym zakończenia, jeśli chcesz, aby polecenie cmdlet kontynuowało przetwarzanie bieżącego obiektu i wszelkich dalszych obiektów wejściowych.

  • Błąd jest błędem, który nie kończy się, jeśli jest powiązany z określonym obiektem wejściowym lub podzbiorem obiektów wejściowych.

Zobacz też

System.Management.Automation.Cmdlet.ThrowTerminatingError*

System.Management.Automation.Cmdlet.WriteError

rekordy błędów programu Windows PowerShell

pisanie polecenia cmdlet programu Windows PowerShell