処理され、呼び出し元に返されます。ステートメントは式なしで使用されるため、この例の出力は呼び出し履歴が保持されていることを示しています。eステートメントの場合、完全な呼び出し履歴は保持されず、この例では次の出力が生成されます。面倒な方法は、新しい例外をスローし、元の例外の呼び出し履歴情報を内部例外に保持することです。例外に関するその他の情報を取得できます。ステートメントは次のようになります。認識する必要があります。Frameworkで既存の例外の種類を使用できます。つの条件で標準の例外の種類を使用する必要があります。よって発生する例外をスローしています。例外オブジェクトをインスタンス化するときに例外オブジェクトのコンストラクターに指定する文字列は、開発者が修正できるようにエラーを記述する必要があります。プロパティを参照してください。Framework例外を使用して呼び出し元に通知できるエラーを処理しています。可能な限り最も派生した例外をスローする必要があります。ArgumentException必要があります。次の表に、一般的な例外の種類と、それらをスローする条件を示します。以外の引数が無効です。引数が有効な値の範囲外です。パスの一部が無効です。ドライブが使用できないか、存在しません。ファイルが存在しません。Parse変換メソッドによって文字列から変換される適切な形式ではありません。インデックスは、配列またはコレクションの境界外にあります。メソッド呼び出しは、オブジェクトの現在の状態では無効です。コレクション内のメンバーにアクセスするための指定されたキーが見つかりません。メソッドまたは操作は実装されていません。メソッドまたは操作はサポートされていません。破棄されたオブジェクトに対して操作が実行されます。算術演算、キャスト演算、または変換操作を実行すると、オーバーフローが発生します。パスまたはファイル名がシステム定義の最大長を超えています。この操作は、現在のプラットフォームではサポートされていません。次元数が正しくない配列がメソッドに渡されます。操作に割り当てられた時間間隔の有効期限が切れています。Framework例外を使用してエラー状態を処理することは十分ではありません。エラーが反映されている場合。Framework例外に適した処理とは異なる処理が必要な場合、または例外を同様の例外から明確に区別する必要がある場合。する場合、呼び出し元がメソッドの呼び出し時に適切な制約付き値を指定しなかった結果のエラーに対して同じ例外を使用しないようにします。Framework内のすべての例外の基底クラスです。多くの派生クラスは、クラスのメンバーの継承された動作に依存します。Exceptionメンバーを定義したりすることはありません。Exception継承するクラスを定義します。必要に応じて、例外に関する追加情報を提供するためにクラスに必要な一意のメンバーを定義します。このクラスにはParamName、ArgumentException引数が例外の原因となったパラメーターの名前を指定するプロパティが含まれておりRegexMatchTimeoutException、このプロパティにはタイムアウト間隔をMatchTimeout示すプロパティが含まれています。必要に応じて、変更または変更する機能を持つ継承されたメンバーをオーバーライドします。派生クラスは、継承されたメンバーの動作をオーバーライドしないことに注意してください。カスタム例外オブジェクトがシリアル化可能かどうかを判断します。プロキシによって例外情報を共有できます。例外クラスのコンストラクターを定義します。Exception()は、既定値を使用して新しい例外オブジェクトのプロパティを初期化します。メッセージを使用して新しい例外オブジェクトを初期化します。メッセージと内部例外を使用して新しい例外オブジェクトを初期化します。シリアル化されたデータから新しい例外オブジェクトを初期化するコンストラクターです。例外オブジェクトをシリアル化可能にすることを選択した場合は、このコンストラクターを実装する必要があります。次の例は、カスタム例外クラスの使用を示しています。クライアントが素数ではない開始番号を指定して素数のシーケンスを取得しようとしたときにスローされる例外を定義します。NonPrime例外の原因となった非素数を返す新しいプロパティを定義します。つの追加コンストラクターをNonPrime定義します。各コンストラクターは、素数以外の値を保持するだけでなく、基底クラスコンストラクターを呼び出します。SerializableAttribute。制限までの素数のシーケンスを計算します。