HP aC++/HP C A.06.20 Programmer's Guide
what, when applied to the instance, returns a value equal to the argument to the
constructor.
Exceptions Thrown by the Standard C++ Library
The following exceptions are thrown by the Standard C++ Library:
• operator new () and operator new [ ] throw a bad_alloc exception
when they cannot obtain a block of storage.
• A dynamic_cast expression throws a bad_cast exception when a cast to a
reference type fails.
• Operator typeid throws a bad_type exception when a pointer to a typeid
expression is zero.
• A bad_exception exception can be thrown when the unexpected handler function
is invoked by unexpected().
NOTE: If no catch clauses are available to catch these exceptions, the default action
is program termination with a call to abort(). (Using the +noeh option does not
disable the exceptions thrown by these library functions.)
type_info Class
type_info is a class in the standard header file <typeinfo>. A reference to an
instance of this class is returned by the typeid operation.
Implementations may differ in the exact details of this class, but in all cases it is a
polymorphic type (has virtual functions) that allows comparisons and a way to access
the name of the type.
Usage:
This class is useful for diagnostic information and for implementing services on objects
where it is necessary to know the exact type of the object.
Example:
# include <iostream.h>
# include <typeinfo>
class Base {
virtual void f(); // Must have a virtual
// function to be a
// polymorphic type
// additional class details omitted
};
class Derived : public Base {
// class details omitted
196 Standardizing Your Code