РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
578 of 815 menu

Класс logic_error

Класс logic_error является базовым классом для исключений, которые возникают из-за ошибок в логике программы. Такие ошибки теоретически могут быть обнаружены до запуска программы, например, при нарушении предусловий функций или инвариантов классов. Класс наследуется от std::exception и содержит конструктор, принимающий строку с описанием ошибки. В первом параметре мы передаём сообщение об ошибке, которое затем можно получить с помощью метода what.

Синтаксис

#include <stdexcept> std::logic_error(const std::string& what_arg); std::logic_error(const char* what_arg);

Пример

Давайте создадим исключение logic_error с сообщением и выведем его описание:

#include <iostream> #include <stdexcept> using namespace std; int main() { try { throw logic_error("logic error occurred"); } catch (const logic_error& e) { cout << e.what() << endl; } return 0; }

Результат выполнения кода:

"logic error occurred"

Пример

Давайте перехватим исключение logic_error как базовое исключение exception:

#include <iostream> #include <stdexcept> using namespace std; int main() { try { throw logic_error("invalid logic"); } catch (const exception& e) { cout << e.what() << endl; } return 0; }

Результат выполнения кода:

"invalid logic"

Смотрите также

  • класс runtime_error,
    который представляет ошибки времени выполнения
  • класс invalid_argument,
    который сигнализирует о неверном аргументе
  • класс out_of_range,
    который сообщает о выходе за пределы диапазона
  • метод what,
    который возвращает описание исключения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить