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
. logic_error(const string& what_arg);
Effects:
Constructs an object of class
logic_error. Postconditions:
strcmp(what(), what_arg.c_str()) == 0. logic_error(const char* what_arg);
Effects:
Constructs an object of class
logic_error. Postconditions:
strcmp(what(), what_arg) == 0.