Errores y excepciones en el sistema de tipos extendidos
Pueden ocurrir errores en ETS durante la inicialización de datos de tipo y al acceder a un miembro de un objeto PSObject o al usar una de las clases de utilidad como LanguagePrimitives.
Errores de tiempo de ejecución
Con una excepción, al realizar la conversión, todas las excepciones lanzadas desde ETS durante el tiempo de ejecución son una excepción ExtendedTypeSystemException o una excepción derivada de la clase ExtendedTypeSystemException. Esto permite a los desarrolladores de scripts detectar estas excepciones utilizando la instrucción Trap en su script.
Errores al obtener valores de miembros
Todos los errores que ocurren al obtener el valor de un miembro de ETS (propiedad, método o propiedad parametrizada) provocan que se genere una excepción GetValueException o GetValueInvocationException. Cuando ETS reconoce que se produjo un error, se lanza una excepción GetValueException. Cuando el captador subyacente de un miembro al que se hace referencia reconoce que se produjo un error, se genera una excepción GetValueInvocationException que puede incluir o no la excepción interna que causó el error de invocación de obtención.
Errores al configurar valores de miembros
Todos los errores que ocurren al establecer el valor de una propiedad ETS provocan que se genere una excepción SetValueException o SetValueInvocationException. Cuando ETS reconoce que se produjo un error, se lanza una excepción SetValueException. Cuando el configurador subyacente de una propiedad a la que se hace referencia reconoce que se produjo un error, se genera una excepción SetValueInvocationException que puede incluir o no la excepción interna que causó el error de invocación del conjunto.
Errores al invocar un método
Todos los errores que ocurren al invocar un método ETS provocan que se genere una excepción MethodException o MethodInvocationException. Cuando ETS reconoce que se produjo un error, se genera una excepción MethodException. Cuando el método al que se hace referencia reconoce que ocurrió un error, se lanza una excepción MethodInvocationException que puede incluir o no la excepción interna que causó el error de invocación.
Errores de casting
Cuando se intenta una conversión no válida, se genera una PSInvalidCastException. Debido a que esta excepción deriva de System.InvalidCastException, no se puede capturar directamente desde el script. Tenga en cuenta que la entidad que intenta realizar la conversión deberá incluir PSInvalidCastException en una PSRuntimeException para que los scripts puedan detectarlo. Si se intenta establecer el valor de un PSPropertySet, PSMemberSet, PSMethodInfo o un miembro de ReadOnlyPSMemberInfoCollection`1<, se lanza una NotSupportedException.
Errores comunes de tiempo de ejecución
Cualquier otro error de tiempo de ejecución común que se produzca es de tipo excepción ExtendedTypeSystemException sin tipos de excepción específicos adicionales.
Errores de inicialización
Pueden ocurrir errores al inicializar types.ps1xml. Normalmente, estos errores se muestran cuando se inicia el tiempo de ejecución de PowerShell. Sin embargo, también se pueden mostrar cuando se carga un módulo.