他の例外が処理されていない間に別の例外を送出することを、例外の入れ子と呼びます。例外の入れ子は、特定の状況でしか行えません。例外が送出される位置から一致する catch 節の入力位置までは、例外は処理されません。この間に呼び出される関数 (破壊される自動オブジェクトのデストラクタなど) は、例外が関数を回避しないかぎり、新しい例外を送出できます。他の例外が処理されていない間に例外によって関数が終了すると、その直後に terminate() 関数が呼び出されます。
例外ハンドラがいったん入力されると例外は処理済みと見なされ、例外が再び送出できるようになります。
例外が送出されているが、現在未処理である状態は uncaught_exception() 関数で確認できます。「uncaught_exception() 関数の呼び出し」を参照してください。