Standard Exceptions

Standard Exceptions

C++ defines a hierarchy of standard exceptions that are thrown at run time when abnormal conditions arise, such as when operator new fails. The standard exception classes are derived from std::exception class (defined in the header). This hierarchy enables you to catch these exceptions in a single catch-statement:

 catch (std::exception& exc) {//handle exception of type std::exception as well as any exception derived from it }

The standard exceptions thrown by built-in operators of the language are:

 bad_alloc 	//may be thrown by operator newbad_cast 	//may be thrown by operator dynamic_cast bad_typeid 	//may be thrown by operator typeidbad_exception 	//may be thrown when an exception specification of a function is violated
 Your code should contain appropriate handler(s) for these exceptions whenever you use any of these built-in operators.

Please note:

  • All standard exception classes are grouped under namespace std.
  • The standard library has an additional set of exceptions thrown by its components.


Share the Post: