Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpLwNr 509 of 696 menu
◀ ▶

Функция без возврата в C++

Атрибут noreturn обещает, что управление из функции не вернется обычным return в вызывающий код.

Типичный безопасный случай - бросить исключение и поймать его выше по стеку. Объявим такую функцию, вызовем из main и обработаем ошибку:

#include <iostream> #include <stdexcept> [[noreturn]] void stop() { throw std::runtime_error("stop"); } int main() { try { stop(); } catch (const std::runtime_error&) { std::cout << "caught\n"; } return 0; }

Объявите [[noreturn]] void fail, бросающую std::runtime_error с текстом "fail". Поймайте ее в main и выведите "done".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить