Будет ли исключение, выброшенное в блоке catch, будет перехвачено более поздними блоками catch?

Рассмотрим следующий код C ++:

try {
  throw foo(1);
} catch (foo &err) {
  throw bar(2);
} catch (bar &err) {
  // Will throw of bar(2) be caught here?
}

Я ожидал, что ответ будет отрицательным, поскольку он не находится внутри блока try , а я вижу в другом вопросе ответ отрицательный для Java, но хочу подтвердить, что С ++ тоже нет. Да, я могу запустить тестовую программу, но я хотел бы знать определение языка поведения в удаленном случае, если в моем компиляторе есть ошибка.

23
задан WilliamKF 6 August 2011 в 14:17
поделиться