C# Advent Calendar 2015 17日目の記事です。主は来ませり。 #戒めの言葉 コーディングとはコミュニケーションである。 人と実行環境(以下「主」)とのコミュニケーションであり、また、主を介した人と人とのコミュニケーションである。 つまりコーディングとは、読み手と書き手とで成されるコードのキャッチボールであり、キャッチボールであるからには、たとえ例外を投げる場合であっても、それが悪送球であってはならない。 #第一に既存の例外クラス利用を考える MSDN「スローする正しい種類の例外の選択」には以下のようにあります。 他の既存の例外とは異なる方法でプログラム処理できるエラー条件がある場合は、カスタム例外を作成してスローします。 それ以外の場合は、既存の例外のいずれかをスローします。 チームの例外を所有するという目的のためだけに、新しい例外を作成してスローしないようにします。