💥

C++ — Исключения и обработка ошибок

try/catch, иерархия исключений, noexcept, пользовательские классы исключений, гарантии безопасности, throw, std::exception, RAII в контексте исключений.

28 вопросов · 28 показано

MediumКак работает механизм исключений в C++?EasyВ каком порядке проверяются catch-блоки?MediumЧем throw отличается от throw e?MediumЧто такое std::exception и её иерархия?EasyКак создать свой класс исключения?MediumЧто такое noexcept и зачем он нужен?MediumЧто такое exception safety guarantees?MediumЧто такое stack unwinding?EasyЧто такое RAII в контексте исключений?HardЧто такое std::current_exception и std::rethrow_exception?HardЧто такое nested exceptions (C++11)?MediumКогда использовать исключения, а когда коды возврата?HardКакова стоимость исключений (cost of exceptions)?MediumЧто такое std::terminate и когда вызывается?MediumМожно ли бросать исключения из конструктора?MediumМожно ли бросать исключения из деструктора?HardЧто такое exception specification и почему dynamic-версия удалена?HardЧем try/catch отличается от std::expected (C++23)?MediumЧто такое std::system_error?MediumКак обрабатывать ошибки в конструкторе, если есть несколько new?HardЧто такое function-try-block?HardКак обрабатывать ошибки в multi-thread окружении?MediumЧто такое идиома ScopeGuard / scope_exit?EasyМожно ли бросать исключения по указателю (throw new Exception)?EasyЧто такое std::bad_alloc и когда бросается?HardЧто такое promise/future exceptions в C++?HardЧто такое exception-safe singleton?HardЧто такое transactional rollback через RAII?