Exception specification - 例外指定

まー,一般に C++ の例外指定は避けるべき(例外非送出指定 throw() だけは場合によっては OK)というのが半ば常識だけれど,これは例外指定が実行時での検出なので実行時のオーバーヘッドを食う上に,例外指定に違反した場合,単に unexpected が呼ばれるだけで実行時に例外指定の違反を検出できてもほとんどうれしくないからで.さらに,こういう仕様だから例外指定が何を指定しているのか(例外を「投げられるのか?投げられないのか?」)すら議論になるという.例外指定がコンパイル時の検出機構なら非常にありがたいし,実際そういうものが欲しいのだけれど.
http://www.boost.org/more/lib_guide.htm#Exception-specification
http://www.gotw.ca/publications/mill22.htm
http://tinyurl.com/8zh6o
っていうか http://tinyurl.com/8zh6o のスレッドを読んでいたら,なかなか鋭いこと書いていて,かつ


even hard core exception-specification critics like me
とまで書いている人が居て,おいおい自分で言うのか,よっぽどの人なんだな,とか思って書いた人の名前見たら David Abrahams 氏だったという……orz.そりゃ,ハードコアもいいところだよ…….