1 #if defined(SWIGJAVA) || defined(SWIGCSHARP) 2 #error "do not use this version of std_except.i" 3 #endif 4 5 %{ 6 #include <stdexcept> 7 %} 8 9 #if defined(SWIG_STD_EXCEPTIONS_AS_CLASSES) 10 11 namespace std { 12 struct exception 13 { 14 virtual ~exception() throw(); 15 virtual const char* what() const throw(); 16 }; 17 18 struct bad_exception : exception 19 { 20 }; 21 22 struct logic_error : exception 23 { 24 logic_error(const string& msg); 25 }; 26 27 struct domain_error : logic_error 28 { 29 domain_error(const string& msg); 30 }; 31 32 struct invalid_argument : logic_error 33 { 34 invalid_argument(const string& msg); 35 }; 36 37 struct length_error : logic_error 38 { 39 length_error(const string& msg); 40 }; 41 42 struct out_of_range : logic_error 43 { 44 out_of_range(const string& msg); 45 }; 46 47 struct runtime_error : exception 48 { 49 runtime_error(const string& msg); 50 }; 51 52 struct range_error : runtime_error 53 { 54 range_error(const string& msg); 55 }; 56 57 struct overflow_error : runtime_error 58 { 59 overflow_error(const string& msg); 60 }; 61 62 struct underflow_error : runtime_error 63 { 64 underflow_error(const string& msg); 65 }; 66 } 67 68 #endif 69