例外仕様は絶対に使わないってルール決めがあれば
throw をマクロで弄って __FILE__ と __LINE__ を例外オブジェクトに付加したり
catch されなくても自分で出した例外を throw の時点で全部ログに吐くなんて使い方もできるしなぁ。

まぁ、C++の規格的には予約語である throw をマクロで弄る時点で違法だけどw