Практика исключений в 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 на двух строках.