22 Diagnostics library [diagnostics]

22.2 Exception classes [std.exceptions]

22.2.2 Class logic_­error [logic.error]

namespace std {
  class logic_error : public exception {
  public:
    explicit logic_error(const string& what_arg);
    explicit logic_error(const char* what_arg);
  };
}

Класс logic_­error определяет тип объектов, создаваемых как исключения для сообщения об ошибках, предположительно обнаруживаемых до выполнения программы, таких как нарушения логических предварительных условий или инвариантов класса.

logic_error(const string& what_arg);

Effects: Создает объект класса logic_­error.

Postconditions: strcmp(what(), what_­arg.c_­str()) == 0.

logic_error(const char* what_arg);

Effects: Создает объект класса logic_­error.

Postconditions: strcmp(what(), what_­arg) == 0.