Personal tools
exception




Click on the banner to return to the class reference home page.
exception
Standard Exception
- Summary
 - Data Type and Member Function Indexes
 - Synopsis
 - Description
 - Interface
 - Constructors
 - Destructor
 - Operators
 - Member Function
 - Constructors for Derived Classes
 - Example
 
Summary
Classes supporting logic and runtime errors.
Data Type and Member Function Indexes
(exclusive of constructors and destructors)
| Member Functions | 
| operator=() what()  | 
Synopsis
#include <exception> class exception;
Description
The class exception defines the base class for the types of objects thrown as exceptions by Standard C++ Library components, and certain expressions, to report errors detected during program execution. Users can also use these exceptions to report errors in their own programs.
Interface
class exception {
   public:
     exception () throw();
     exception (const exception&) throw();
     exception& operator= (const exception&) throw();
     virtual ~exception () throw();
     virtual const char* what () const throw();
 };
 class logic_error : public exception {
   public:
     logic_error (const string& what_arg);
 };
 class domain_error : public logic_error {
   public:
     domain_error (const string& what_arg);
 };
 class invalid_argument : public logic_error {
   public:
     invalid_argument (const string& what_arg);
 };
 class length_error : public logic_error {
   public:
     length_error (const string& what_arg);
 };
 class out_of_range : public logic_error {
   public:
     out_of_range (const string& what_arg);
 };
 class runtime_error : public exception {
   public:
     runtime_error (const string& what_arg);
 };
 class range_error : public runtime_error {
   public:
     range_error (const string& what_arg);
 };
 class overflow_error : public runtime_error {
   public:
     overflow_error (const string& what_arg);
 };
 class underflow_error : public runtime_error {
   public:
     underflow_error (const string& what_arg);
 };
Constructors
exception() throws();
Constructs an object of class exception.
exception(const exception&) throws();
The copy constructor. Copies an exception object.
Destructor
virtual ~exception() throws();
Destroys an object of class exception.
Operators
exception& operator=(const exception&) throws();
The assignment operator. Copies an exception object.
Member Function
virtual const char* what()const throws();
Returns an implementation-defined, null-terminated byte string representing a human-readable message describing the exception. The message may be a null-terminated multibyte string, suitable for conversion and display as a wstring.
Constructors for Derived Classes
logic_error::logic_error(const string& what_arg);
Constructs an object of class logic_error.
domain_error::domain_error(const string& what_arg);
Constructs an object of class domain_error.
invalid_argument::invalid_argument(const string& what_arg);
Constructs an object of class invalid_argument.
length_error::length_error(const string& what_arg);
Constructs an object of class length_error.
out_of_range::out_of_range(const string& what_arg);
Constructs an object of class out_of_range.
runtime_error::runtime_error(const string& what_arg);
Constructs an object of class runtime_error.
range_error::range_error(const string& what_arg);
Constructs an object of class range_error.
overflow_error::overflow_error(const string& what_arg);
Constructs an object of class overflow_error.
underflow_error::underflow_error(
                    const string& what_arg);
Constructs an object of class underflow_error.
Example
  //
  // exception.cpp
  //
  #include <iostream.h>
  #include <stdexcept>
  static void f() { throw runtime_error("a runtime error"); }
  int main ()
  {
     //
     // By wrapping the body of main in a try-catch block 
     // we can be assured that we'll catch all exceptions 
     // in the exception hierarchy.  You can simply catch 
     // exception as is done below, or you can catch each 
     // of the exceptions in which you have an interest.
     //
     try
     {
         f();
     }
     catch (const exception& e)
     {
         cout << "Got an exception: " << e.what() << endl;
     }
     return 0;
  }



©Copyright 1996, Rogue Wave Software, Inc.