Как правило, я бы не использовал спецификаторы исключений. Однако в тех случаях, когда из рассматриваемой функции должно поступить какое-либо другое исключение, которое программа окончательно не сможет исправить , это может быть полезно. Во всех случаях убедитесь, что вы четко указали, какие исключения можно ожидать от этой функции.
Да, ожидаемое поведение неуказанного исключения, генерируемого из функции со спецификаторами исключений, заключается в вызове terminate ().
Я также отмечу, что Скотт Мейерс рассматривает эту тему в более эффективном C ++. Его книги «Эффективный С ++» и «Более эффективный С ++» - очень рекомендуемые книги.