namespace std {
class exception {
public:
exception() noexcept;
exception(const exception&) noexcept;
exception& operator=(const exception&) noexcept;
virtual ~exception();
virtual const char* what() const noexcept;
};
}
The class
exception
defines the base
class for the types of objects thrown as exceptions by
C++ standard library components, and certain
expressions, to report errors detected during program execution
.Each standard library class
T that derives from class
exception shall have a
publicly accessible copy constructor and a publicly accessible copy assignment
operator that do not exit with an exception
. These member functions shall meet
the following postcondition: If two objects
lhs and
rhs both have
dynamic type
T and
lhs is a copy of
rhs, then
strcmp(lhs.what(), rhs.what()) shall equal 0
. exception() noexcept;
Effects:
Constructs an object of class
exception. exception(const exception& rhs) noexcept;
exception& operator=(const exception& rhs) noexcept;
Effects:
Copies an
exception
object
. Postconditions: If
*this and
rhs both have dynamic type
exception
then the value of the expression
strcmp(what(), rhs.what()) shall equal 0
. virtual ~exception();
Effects:
Destroys an object of class
exception. virtual const char* what() const noexcept;
Returns:
An
implementation-defined
ntbs. The return value remains valid until the exception object from which
it is obtained is destroyed or a non-
const
member function of the exception object is called
.