JavaRush
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Погружаемся в try/catch/throw

    C++ SELF
    53 уровень,0 лекция
    Разбираем обработку исключений в C++: как работает throw, где ставить границы try/ catch, как исключение «поднимается» по стеку, что такое раскрутка стека ( stack unwinding) и почему при этом вызываются деструкторы (RAII). Также смотрим повторный бросок через throw ;, строим практический мини-проект (парсер команд + цикл в main) и фиксируем типичные ошибки.
    Открыта
  • std::exception и what(): базовая практика

    C++ SELF
    53 уровень,1 лекция
    Разбираем, зачем в C++ нужен базовый класс исключений std::exception, как устроен метод what(), почему “универсальный обработчик” пишут как catch ( const std::exception & e), чем опасен catch ( std::exception e) (object slicing), и как аккуратно выводить диагностику, не сохраняя висячий const char* из what().
    Открыта
  • Стандартные исключения <stdexcept>

    C++ SELF
    53 уровень,2 лекция
    Разбираем, как в C++ осознанно выбирать стандартные исключения из заголовка <stdexcept>: когда бросать std::runtime_error (проблемы условий выполнения), когда — std::invalid_argument (нарушен контракт по входным данным), и когда — std::out_of_range (индекс/значение вне допустимых границ). Плюс — порядок catch от конкретного к общему, использование e.what() и мини-практика на CLI со std::vector, std::stoi и at().
    Открыта
  • Свои исключения — именование, сообщение и контекст

    C++ SELF
    53 уровень,3 лекция
    Разбираем, зачем в C++ заводить собственные типы исключений вместо универсального std::runtime_error, как выбирать осмысленные категории ошибок ( ParseError vs CommandError), что писать в what(), и как передавать контекст не строкой, а полями объекта исключения. На практическом примере CLI «учёт расходов» показываем нормализацию ошибок, перевод исключений и обработку в main.
    Открыта
  • Когда исключения уместны

    C++ SELF
    53 уровень,4 лекция
    Разбираем, как выбирать между исключениями и «ошибкой как значением» в C++: когда уместно throw (нарушение контракта, сломанные инварианты, глубокая ошибка с обработкой на верхнем уровне), а когда честнее вернуть результат через std::optional или std::variant. На примерах TaskCLI показываем границы обработки (где ловить try/ catch) и типичные ошибки проектирования API.
    Открыта
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush