std::error_code дополняют базовый try и catch из учебника ООП. Объявите int sum3(int a, int b, int c) noexcept.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpExPrm 467 of 696 menu
◀ ▶

Практика исключений в C++

Объявите int sum3(int a, int b, int c) noexcept. Выведите сумму для 1, 2, 3 и отдельно 1, если noexcept(sum3(1, 2, 3)) истинно, иначе 0.

Функция void inner() бросает std::runtime_error с текстом "inner". В void outer() перехватите ее, выполните throw;. В main выведите what.

Сохраните в std::exception_ptr исключение std::runtime_error с текстом "hold". Вызовите std::rethrow_exception и выведите сообщение во внешнем catch.

Создайте std::error_code для std::errc::invalid_argument. Выведите value, message и category.name в три строки.

Бросьте std::system_error с кодом std::errc::operation_not_permitted и текстом "deny". Перехватите как const std::system_error& и выведите code.value и what на двух строках.

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