From: Marcelo M. <mar...@us...> - 2004-09-26 01:01:36
|
Update of /cvsroot/swig/SWIG/Lib/python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16643 Modified Files: std_except.i Log Message: force all the std::exceptions to be exceptionclasses Index: std_except.i =================================================================== RCS file: /cvsroot/swig/SWIG/Lib/python/std_except.i,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** std_except.i 1 Sep 2004 22:23:05 -0000 1.1 --- std_except.i 26 Sep 2004 01:01:18 -0000 1.2 *************** *** 7,10 **** --- 7,25 ---- namespace std { + /* Mark all of them as exception classes */ + %feature("exceptionclass") exception; + %feature("exceptionclass") bad_exception; + %feature("exceptionclass") logic_error; + %feature("exceptionclass") domain_error; + %feature("exceptionclass") invalid_argument; + %feature("exceptionclass") length_error; + %feature("exceptionclass") out_of_range; + %feature("exceptionclass") runtime_error; + %feature("exceptionclass") range_error; + %feature("exceptionclass") overflow_error; + %feature("exceptionclass") underflow_error; + } + + namespace std { struct exception { *************** *** 19,63 **** struct logic_error : exception { ! explicit logic_error(const string& msg); }; struct domain_error : logic_error { ! explicit domain_error(const string& msg); }; struct invalid_argument : logic_error { ! explicit invalid_argument(const string& msg); }; struct length_error : logic_error { ! explicit length_error(const string& msg); }; struct out_of_range : logic_error { ! explicit out_of_range(const string& msg); }; struct runtime_error : exception { ! explicit runtime_error(const string& msg); }; struct range_error : runtime_error { ! explicit range_error(const string& msg); }; struct overflow_error : runtime_error { ! explicit overflow_error(const string& msg); }; struct underflow_error : runtime_error { ! explicit underflow_error(const string& msg); }; } --- 34,79 ---- struct logic_error : exception { ! logic_error(const string& msg); }; struct domain_error : logic_error { ! domain_error(const string& msg); }; struct invalid_argument : logic_error { ! invalid_argument(const string& msg); }; struct length_error : logic_error { ! length_error(const string& msg); }; struct out_of_range : logic_error { ! out_of_range(const string& msg); }; struct runtime_error : exception { ! runtime_error(const string& msg); }; struct range_error : runtime_error { ! range_error(const string& msg); }; struct overflow_error : runtime_error { ! overflow_error(const string& msg); }; struct underflow_error : runtime_error { ! underflow_error(const string& msg); }; } + |