| VMS Help CXXLSTD, Runtime Support, exception *Conan The Librarian | 
 			   Standard C++	Library
 		 Copyright 1996, Rogue Wave Software, Inc.
 NAME
   exception,logic_error,domain_error,invalid_argument,length_error,
   out_of_range,runtime_error,range_error,overflow_error,underflow_error-
   Classes supporting logic and runtime errors.
 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;
     }
 STANDARDS CONFORMANCE
   ANSI X3J16/ISO WG21 Joint C++	Committee
|  |