Fel och undantag i det utökade typsystemet
Fel kan inträffa i ETS under initieringen av typdata och vid åtkomst till en medlem i ett PSObject-objekt eller med någon av verktygsklasserna, till exempel LanguagePrimitives.
Körningsfel
Med ett undantag är alla undantag som utlösts från ETS under körning antingen ett ExtendedTypeSystemException-undantag eller ett undantag som härletts från klassen ExtendedTypeSystemException. Detta gör att skriptutvecklare kan fånga dessa undantag med hjälp Trap
av -instruktionen i skriptet.
Fel vid hämta medlemsvärden
Alla fel som inträffar när du hämtar värdet för en ETS-medlem (egenskap, metod eller parametriserad egenskap) orsakar ett GetValueException- eller GetValueInvocationException-undantag. När ETS identifierar att ett fel har uppstått uppstår ett GetValueException-undantag. När den underliggande geter för en refererad medlem identifierar att ett fel har uppstått, uppstår ett GetValueInvocationException-undantag som kan eller inte kan innehålla det inre undantaget som orsakade get-anropsfelet.
Fel vid inställning av medlemsvärden
Alla fel som inträffar när du anger värdet för en ETS-egenskap orsakar ett setValueException- eller SetValueInvocationException-undantag. När ETS identifierar att ett fel har uppstått uppstår ett SetValueException-undantag. När den underliggande set-egenskapen för en refererad egenskap identifierar att ett fel har uppstått, uppstår ett SetValueInvocationException-undantag som kan innehålla det inre undantaget som orsakade anropsfelet.
Fel vid anrop av en metod
Alla fel som inträffar vid anrop av en ETS-metod orsakar att ett MethodException- eller MethodInvocationException-undantag inträffar. När ETS identifierar att ett fel har uppstått uppstår ett MethodException-undantag. När den refererade metoden identifierar att ett fel har uppstått, uppstår ett MethodInvocationException-undantag som kan innehålla det inre undantaget som orsakade anropsfelet.
Avformningsfel
När ett ogiltigt försök görs, kommer en PSInvalidCastException att utge sig för att göra det. Eftersom det här undantaget härleds från System.InvalidCastException kan det inte fångas direkt från skriptet. Tänk på att entiteten som försöker utföra avtrycken måste omsluta PSInvalidCastException i en PSRuntimeException för att detta ska kunna fångas upp av skript. Om ett försök görs att ange värdet för en PSPropertySet, PSMemberSet, PSMethodInfo eller en medlem i ReadOnlyPSMemberInfoCollection'1, så kommer en NotSupportedException att utlöss.
Vanliga körningsfel
Alla andra vanliga körningsfel som inträffar är av typen ExtendedTypeSystemException-undantag utan ytterligare specifika undantagstyper.
Initieringsfel
Fel kan uppstå vid initiering av types.ps1xml
. De här felen visas vanligtvis när PowerShell-körningen startar. De kan dock också visas när en modul läses in.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för