namespace std { class logic_error : public exception { public: explicit logic_error(const string& what_arg); explicit logic_error(const char* what_arg); }; }
The class logic_error defines the type of objects thrown as exceptions to report errors presumably detectable before the program executes, such as violations of logical preconditions or class invariants.
Effects: Constructs an object of class logic_error.
Postcondition: strcmp(what(), what_arg.c_str()) == 0.
logic_error(const char* what_arg);
Effects: Constructs an object of class logic_error.
Postcondition: strcmp(what(), what_arg) == 0.