>>63
>汎用的じゃない例外なんかは、普通はその例外を発生させるクラスと同じかまたは上位の

小さなプログラムであれば、例外に関して1個の名前空間(たとえば M)ですむ
プログラムが大きくなれば、複数のサブシステムに分割して構造設計するはずだから、
各サブシステムごとに例外に関する名前空間を持てばいいだけの話
たとえば、M::Exception、N::Exception、O::Exception みたいに....
シノニムも M::EX、N::EX、O::EX と別個に定義することになる


>っていうか例外クラスなんかコード中に頻出するわけじゃないんだから

いや、実用的なプログラムを書こうとすれば、エラー検査と例外発生だらけになるよ
しかも例外の種類(例外クラス)も数多く必要になるから、クラス継承設計も大切になってくる


このあたりの感覚は、ある程度の規模(10Kstep以上)、
かつ実用的なソフトウェアの開発経験が無いと分からないかもね....