Произойдет вызов std::terminate. При этом стандарт гарантирует, что перед вызовом std::terminate будет вызван std::unexpected в C++17 и более ранних версиях, но в C++20 это поведение удалено. Таким образом, в современных стандартах (C++20 и выше) при выбросе исключения из функции, помеченной noexcept, происходит немедленный вызов std::terminate.
По умолчанию std::terminate вызывает abort. Поведение std::terminate может быть изменено вызовом std::set_terminate.
Пример:
cpp
Вывод программы будет примерно таким:
plaintext