00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef _CPP_STDEXCEPT
00035 #define _CPP_STDEXCEPT 1
00036
00037 #pragma GCC system_header
00038
00039 #include <exception>
00040 #include <string>
00041
00042 namespace std
00043 {
00044 class logic_error : public exception
00045 {
00046 string _M_msg;
00047
00048 public:
00049 explicit
00050 logic_error(const string& __arg);
00051
00052 virtual
00053 ~logic_error() throw();
00054
00055 virtual const char*
00056 what() const throw();
00057 };
00058
00059 class domain_error : public logic_error
00060 {
00061 public:
00062 explicit domain_error(const string& __arg);
00063 };
00064
00065 class invalid_argument : public logic_error
00066 {
00067 public:
00068 explicit invalid_argument(const string& __arg);
00069 };
00070
00071 class length_error : public logic_error
00072 {
00073 public:
00074 explicit length_error(const string& __arg);
00075 };
00076
00077 class out_of_range : public logic_error
00078 {
00079 public:
00080 explicit out_of_range(const string& __arg);
00081 };
00082
00083 class runtime_error : public exception
00084 {
00085 string _M_msg;
00086
00087 public:
00088 explicit
00089 runtime_error(const string& __arg);
00090
00091 virtual
00092 ~runtime_error() throw();
00093
00094 virtual const char*
00095 what() const throw();
00096 };
00097
00098 class range_error : public runtime_error
00099 {
00100 public:
00101 explicit range_error(const string& __arg);
00102 };
00103
00104 class overflow_error : public runtime_error
00105 {
00106 public:
00107 explicit overflow_error(const string& __arg);
00108 };
00109
00110 class underflow_error : public runtime_error
00111 {
00112 public:
00113 explicit underflow_error(const string& __arg);
00114 };
00115 }
00116
00117 #endif // _CPP_STDEXCEPT