Errori ed eccezioni nel sistema di tipi estesiErrors and exceptions in the Extended Type System

Gli errori possono verificarsi in ETS durante l'inizializzazione dei dati di tipo e quando si accede a un membro di un oggetto PSObject o si utilizza una delle classi di utilità, ad esempio LanguagePrimitives.Errors can occur in ETS during the initialization of type data and when accessing a member of an PSObject object or using one of the utility classes such as LanguagePrimitives.

Errori di runtimeRuntime errors

Con un'eccezione, durante il cast tutte le eccezioni generate da ETS durante il runtime sono un'eccezione ExtendedTypeSystemException o un'eccezione derivata dalla classe ExtendedTypeSystemException .With one exception, when casting, all exceptions thrown from ETS during runtime are either an ExtendedTypeSystemException exception or an exception derived from the ExtendedTypeSystemException class. Questo consente agli sviluppatori di script di intercettare queste eccezioni usando l' Trap istruzione nello script.This allows script developers to trap these exceptions using the Trap statement in their script.

Errori durante il recupero dei valori dei membriErrors getting member values

Tutti gli errori che si verificano quando si recupera il valore di un membro ETS (proprietà, metodo o proprietà con parametri) generano un'eccezione Getvalueexception o GetValueInvocationException .All errors that occur when getting the value of an ETS member (property, method, or parameterized property) cause a GetValueException or GetValueInvocationException exception to be thrown. Quando ETS rileva che si è verificato un errore, viene generata un'eccezione Getvalueexception .When ETS recognizes that an error occurred a GetValueException exception is thrown. Quando il metodo di richiamo sottostante di un membro a cui viene fatto riferimento rileva che si è verificato un errore, viene generata un'eccezione GetValueInvocationException che può includere o meno l'eccezione interna che ha causato l'errore di chiamata Get.When the underlying getter of a referenced member recognizes that an error occurred, a GetValueInvocationException exception is thrown that may or may not include the inner exception that caused the get invocation error.

Errori di impostazione dei valori dei membriErrors setting member values

Tutti gli errori che si verificano quando si imposta il valore di una proprietà ETS provocano la generazione di un'eccezione setvalueexception o SetValueInvocationException .All errors that occur when setting the value of an ETS property cause a SetValueException or SetValueInvocationException exception to be thrown. Quando ETS rileva che si è verificato un errore, viene generata un'eccezione setvalueexception .When ETS recognizes that an error occurred a SetValueException exception is thrown. Quando il metodo di impostazione sottostante di una proprietà a cui si fa riferimento rileva che si è verificato un errore, viene generata un'eccezione SetValueInvocationException che può includere o meno l'eccezione interna che ha causato l'errore di chiamata del set.When the underlying setter of a referenced property recognizes that an error occurred, a SetValueInvocationException exception is thrown that may or may not include the inner exception that caused the set invocation error.

Errori durante la chiamata di un metodoErrors invoking a method

Tutti gli errori che si verificano quando si richiama un metodo ETS provocano la generazione di un'eccezione methodexception o MethodInvocationException .All errors that occur when invoking an ETS method cause a MethodException or MethodInvocationException exception to be thrown. Quando ETS rileva che si è verificato un errore, viene generata un'eccezione methodexception .When ETS recognizes that an error occurred a MethodException exception is thrown. Quando il metodo a cui si fa riferimento rileva che si è verificato un errore, viene generata un'eccezione MethodInvocationException che può includere o meno l'eccezione interna che ha causato l'errore di chiamata.When the referenced method recognizes that an error occurred, a MethodInvocationException exception is thrown that may or may not include the inner exception that caused the invocation error.

Errori di castCasting errors

Quando si tenta di eseguire un cast non valido, viene generata un'eccezione PSInvalidCastException .When an invalid cast is attempted, an PSInvalidCastException is thrown. Poiché questa eccezione deriva da System. InvalidCastException, non è possibile intrappolarla direttamente dallo script.Because this exception derives from System.InvalidCastException, it is not able to be directly trapped from script. Tenere presente che l'entità che tenta di eseguire il cast deve eseguire il wrapping di PSInvalidCastException in un PSRuntimeException affinché questo venga intercettabile dagli script.Be aware that the entity attempting the cast would need to wrap PSInvalidCastException in an PSRuntimeException for this to be trappable by scripts. Se viene effettuato un tentativo di impostare il valore di PSPropertySet, PSMemberSet, PSMethodInfoo un membro di ReadOnlyPSMemberInfoCollection ' 1, viene generata un' eccezione NotSupportedException .If an attempt is made to set the value of an PSPropertySet, PSMemberSet, PSMethodInfo, or a member of the ReadOnlyPSMemberInfoCollection`1, a NotSupportedException is thrown.

Errori di runtime comuniCommon runtime errors

Tutti gli altri errori di runtime comuni che si verificano sono di tipo ExtendedTypeSystemException eccezione senza ulteriori tipi di eccezione specifici.Any other common runtime errors that occur are of type ExtendedTypeSystemException exception with no additional specific exception types.

Errori di inizializzazioneInitialization errors

Potrebbero verificarsi errori durante l'inizializzazione types.ps1xml .Errors may occur when initializing types.ps1xml. In genere, questi errori vengono visualizzati all'avvio del runtime di PowerShell.Typically, these errors are displayed when the PowerShell runtime starts. Tuttavia, possono essere visualizzati anche quando un modulo viene caricato.However, they can also be displayed when a module is loaded.