try {
//....
}
catch ( ... ) {

}
catch (std::exception& e) {

}
catch (std::bad_cast) {

}

スウトラウスストラップが、上記のコードでは
2番目と3番目のcatchブロックは決して
実行されないって書いているんだけど本当?
(C++3版 p427)

exceptionの派生クラス bad_cast が投入された
ときには、3つともすべてのcatchブロックが実行
されるんじゃないの?

後者2つのcatchブロックで、それぞれ基底クラス
と派生クラス、双方の例外処理を行いたい場合は
どうしたら良いんですか?