Błędy i wyjątki w systemie typów rozszerzonych
Błędy mogą wystąpić w systemie ETS podczas inicjowania danych typu oraz podczas uzyskiwania dostępu do członka obiektu PSObject lub przy użyciu jednej z klas narzędzi, takich jak LanguagePrimitives.
Błędy środowiska uruchomieniowego
Z jednym wyjątkiem podczas rzutowania wszystkie wyjątki zgłaszane przez system ETS podczas wykonywania są albo wyjątkiem ExtendedTypeSystemException, albo wyjątkiem pochodzącym od klasy ExtendedTypeSystemException. Dzięki temu deweloperzy skryptów mogą wychwytować te wyjątki Trap
przy użyciu instrukcji w skrypcie.
Błędy podczas uzyskiwania wartości członków
Wszystkie błędy występujące podczas uzyskiwania wartości członka systemu ETS (właściwości, metody lub właściwości sparametryzowanej) powodują wyjątek GetValueException lub GetValueInvocationException. Gdy system ETS rozpozna, że wystąpił błąd, zgłaszany jest wyjątek GetValueException. Gdy podstawowy element getter przywoływał element członkowski rozpoznaje, że wystąpił błąd, zgłaszany jest wyjątek GetValueInvocationException, który może lub nie uwzględniać wyjątku wewnętrznego, który spowodował błąd wywołania get.
Błędy podczas ustawiania wartości członków
Wszystkie błędy występujące podczas ustawiania wartości właściwości ETS powodują, że zgłaszany jest wyjątek SetValueException lub SetValueInvocationException. Gdy system ETS rozpozna, że wystąpił błąd, zgłaszany jest wyjątek SetValueException. Gdy podstawowy ustawiacz właściwości, do którego istnieje odwołanie, rozpoznaje, że wystąpił błąd, zgłaszany jest wyjątek SetValueInvocationException, który może lub nie uwzględniać wyjątku wewnętrznego, który spowodował błąd wywołania zestawu.
Błędy podczas wywołania metody
Wszystkie błędy występujące podczas wywołania metody ETS powodują wyjątek MethodException lub MethodInvocationException. Gdy system ETS rozpozna, że wystąpił błąd, zgłaszany jest wyjątek MethodException. Gdy metoda, do którego istnieje odwołanie, rozpoznaje, że wystąpił błąd, zgłaszany jest wyjątek MethodInvocationException, który może lub nie uwzględniać wyjątku wewnętrznego, który spowodował błąd wywołania.
Błędy rzutowania
Podczas próby nieprawidłowego rzutowania zgłaszany jest wyjątek PSInvalidCastException. Ponieważ ten wyjątek pochodzi od wyjątku System.InvalidCastException, nie można go bezpośrednio wyłapić ze skryptu. Należy pamiętać, że jednostka próbująca rzutować musi opakować element PSInvalidCastException w element PSRuntimeException, aby można było to zrobić za pomocą skryptów. Jeśli podjęto próbę ustawienia wartości właściwości PSPropertySet, PSMemberSet, PSMethodInfo lub członka readOnlyPSMemberInfoCollection'1, zgłaszany jest wyjątek NotSupportedException.
Typowe błędy środowiska uruchomieniowego
Wszystkie inne typowe błędy środowiska uruchomieniowego, które występują, są typu ExtendedTypeSystemException wyjątek bez dodatkowych typów wyjątków.
Błędy inicjowania
Podczas inicjowania mogą wystąpić błędy types.ps1xml
. Zazwyczaj te błędy są wyświetlane po uruchomieniu środowiska uruchomieniowego programu PowerShell. Mogą być jednak również wyświetlane po załadowaniu modułu.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla