レスありがとうございます。
私の説明がおかしかったようで、もう少し正確に書くと、本には

class A;
class B;

void f() throw(A)
{
throw A(); //A型例外を送出
throw B(); //unexpected()を呼ぶ→unexpeted()がterminate()を呼ぶ
}

bad_exceptionをした場合・・・
void f() throw(A, std::bad_exception)
{
throw A(); //A型例外を送出
throw B(); //unexpected()を呼ぶ→unexpected()がbad_exceptionを送出
}

とまぁこういったことが書いてありましたので、たとえばint()をスローする
と当然bad_exceptionが投げられて、外側でbad_exception型の例外がキャッチ
できるのかと思ったのですが・・・違いますか?