拡張型システムのエラーと例外

エラーは、型データの初期化中、および PSObject オブジェクトのメンバーにアクセスするとき、または LanguagePrimitivesなどのユーティリティ クラスのいずれかを使用しているときに、ETS で発生する可能性があります。

実行時エラー

1 つの例外では、キャスト時に ETS からスローされるすべての例外は、ExtendedTypeSystemException 例外か、ExtendedTypeSystemException クラスから派生した例外です。 これにより、スクリプト開発者はスクリプト内の trap ステートメントを使用してこれらの例外をトラップできます。

メンバー値の取得エラー

ETS メンバー (プロパティ、メソッド、またはパラメーター化されたプロパティ) の値を取得するときに発生するすべてのエラーにより、GetValueException または GetValueInvocationException 例外がスローされます。 エラーが発生したことを ETS が認識すると、GetValueException 例外がスローされます。 参照されるメンバーの基になる getter がエラーが発生したことを認識すると、getValueInvocationException 例外がスローされます。この例外には、get 呼び出しエラーの原因となった内部例外が含まれている場合と含まれていない場合があります。

メンバー値の設定エラー

ETS プロパティの値を設定するときに発生するすべてのエラーにより、SetValueException または SetValueInvocationException 例外がスローされます。 エラーが発生したことを ETS が認識すると、setValueException 例外 がスローされます。 参照先プロパティの基になるセッターがエラーが発生したことを認識すると、setValueInvocationException 例外がスローされ、セット呼び出しエラーの原因となった内部例外が含まれる場合と含まれていない場合があります。

メソッドを呼び出すエラー

ETS メソッドを呼び出すときに発生するすべてのエラーにより、MethodException または MethodInvocationException 例外がスローされます。 エラーが発生したことを ETS が認識すると、MethodException 例外がスローされます。 参照先のメソッドがエラーが発生したことを認識すると、MethodInvocationException 例外がスローされ、呼び出しエラーの原因となった内部例外が含まれている場合と含まれていない場合があります。

キャスト エラー

無効なキャストが試行されると、PSInvalidCastException がスローされます。 この例外 System.InvalidCastExceptionから派生しているため、スクリプトから直接トラップすることはできません。 キャストを試みるエンティティは、PSInvalidCastException PSRuntimeException でラップして、スクリプトでトラップできるようにする必要があることに注意してください。 PSPropertySetPSMemberSetPSMethodInfo、または ReadOnlyPSMemberInfoCollection'1のメンバーの値を設定しようとすると、NotSupportedException がスローされます。

一般的なランタイム エラー

発生するその他の一般的なランタイム エラーは、追加の特定の例外の種類を除き、ExtendedTypeSystemException 例外 型です。

初期化エラー

types.ps1xmlの初期化中にエラーが発生する可能性があります。 通常、これらのエラーは PowerShell ランタイムの起動時に表示されます。 ただし、モジュールが読み込まれるときに表示することもできます。