stdexcept.h revision 227825
1/**
2 * stdexcept.h - provides a stub version of <stdexcept>, which defines enough
3 * of the exceptions for the runtime to use.
4 */
5
6namespace std
7{
8
9	class exception
10	{
11	public:
12		exception() throw();
13		exception(const exception&) throw();
14		exception& operator=(const exception&) throw();
15		virtual ~exception();
16		virtual const char* what() const throw();
17	};
18
19
20	/**
21	 * Bad allocation exception.  Thrown by ::operator new() if it fails.
22	 */
23	class bad_alloc: public exception
24	{
25	public:
26		bad_alloc() throw();
27		bad_alloc(const bad_alloc&) throw();
28		bad_alloc& operator=(const bad_alloc&) throw();
29		~bad_alloc();
30		virtual const char* what() const throw();
31	};
32
33	/**
34	 * Bad cast exception.  Thrown by the __cxa_bad_cast() helper function.
35	 */
36	class bad_cast: public exception {
37	public:
38		bad_cast() throw();
39		bad_cast(const bad_cast&) throw();
40		bad_cast& operator=(const bad_cast&) throw();
41		virtual ~bad_cast();
42		virtual const char* what() const throw();
43	};
44
45	/**
46	 * Bad typeidexception.  Thrown by the __cxa_bad_typeid() helper function.
47	 */
48	class bad_typeid: public exception
49	{
50	public:
51		bad_typeid() throw();
52		bad_typeid(const bad_typeid &__rhs) throw();
53		virtual ~bad_typeid();
54		bad_typeid& operator=(const bad_typeid &__rhs) throw();
55		virtual const char* what() const throw();
56	};
57
58
59
60} // namespace std
61
62