http://d.hatena.ne.jp/akiramei/20071129/1196358506
昨日の日記に菊池さんから反応が!
catch句はできるだけ例外に依存しないか、依存しても抽象的な例外に依存しましょう
ほぼ全面的に同意。違うのは全ての例外をキャッチするのに

catch (Exception) { ... }

を使うか

catch { ... }

を使うかです。タイプ量から考えると菊池さんの方が合理的なのですが、C++時代の

catch (...) { ... }

これが嫌いだったのでExceptionを選んでいます。実際にはExceptionでキャッチするケースはほとんどないけど。

あと、昨日の日記の趣旨は、全ての例外はExceptionから派生するようになったので、昔のように、

catch (Exception e) { ... }
catch { ... }

と、書く必要はなくなったというだけだったり。(^^;
あと、菊池さんはC#1.0とのソース互換について指摘していましたが、私はどうせジェネリックコレクションを多用するから、互換性なんか考えなくても良いかな?というスタンスです。