null(型を持っていない)と並べると型が決まらない。式同士を並べると型が決まらない。標準で提供する例外クラスのうち、よく出てくるもの/よく使うものをいくつか例に挙げます。メソッドの引数が変な場合。ArgumentNullExceptionやArgumentOutOfRangeException以外の場合で変な時に使う。引数がnullの場合。メソッドの許容範囲外の値が引数として渡された場合。算術演算によるエラーの基本クラス。NotFiniteNumberException以外の算術エラーを示したければ使う。算術演算やキャストでオーバーフローが起きた場合。0で割ったときのエラー。浮動小数点値が無限大の場合。引数の書式が仕様に一致していない場合。配列のインデックスが変な場合。無効なキャストの場合。引数以外の原因でエラーが起きた場合。Dispose済みのオブジェクトで操作が実行される場合。メソッドが未実装の場合。呼び出されたメソッドがサポートされていない場合、または呼び出された機能を備えていないストリームに対して読み取り、シーク、書き込みが試行された場合。nullオブジェクト参照を逆参照しようとした場合。特定のプラットフォームで機能が実行されない場合。指定したタイムアウト時間が経過した場合。コレクションに該当するキーが無い場合。ディレクトリが無い場合。ストリームの末尾を超えて読み込もうとしている場合。例外は、catch句でキャッチされるまで、どんどん上位の呼び出し元に伝搬していきます。}}例外が最後までキャッチされなかった場合※、アプリ自体が停止します。}}このとき、以下のような、例外で停止した旨を示すメッセージが表示されます。11例外の種類の他に、どのメソッドを経由して例外が発生したかや、メソッドがソースコード中のどこにあるかなどの情報が入っています。この情報をスタックトレースと呼びます。フレームワーク内で例外がキャッチされていて、未処理例外があっても即座にアプリが停止することはありません。ダイアログ画面が表示されたりします。実行速度が遅いといわれています。例外発生時には少し大き目のコストが発生します。避けれるのならばコストの大きな処理は避けたいというのがプログラマの心情というものです。6で、例外のcatch句に続けてwhenと書くことで、catchしたい例外の条件を書けるようになりました。filter)といいます。例外処理コード}用途としては、例えば、以下のように、複数の種類の例外に対して、同じ例外処理を掛けたい場合があります。同じ例外処理の仕方をしたい場合がある。同じ例外処理の仕方をしたい場合がある。コードになっちゃうので嫌!}これに対して、例外フィルターを使うと、以下のように書き直せます。同じ例外処理の仕方をしたい場合がある。Console.WriteLine(e);}また、入れ子になっている例外の処理にも有効です。この時、以下のように例外フィルターを使うことで、catch句が書きやすくなります。}when句が付いている場合は、同じ型のcatchを複数書くことができます。この場合、書いた順に上から調べて最初に条件を満たしたcatch句が実行されます。1.0の頃からある機能です。6で追加されたというものです。まで気兼ねなくご連絡ください。ついて運営者について。