| /* ----------------------------------------------------------------------------- | |
| * error manipulation | |
| * ----------------------------------------------------------------------------- */ | |
| SWIGRUNTIME PyObject* | |
| SWIG_Python_ErrorType(int code) { | |
| PyObject* type = 0; | |
| switch(code) { | |
| case SWIG_MemoryError: | |
| type = PyExc_MemoryError; | |
| break; | |
| case SWIG_IOError: | |
| type = PyExc_IOError; | |
| break; | |
| case SWIG_RuntimeError: | |
| type = PyExc_RuntimeError; | |
| break; | |
| case SWIG_IndexError: | |
| type = PyExc_IndexError; | |
| break; | |
| case SWIG_TypeError: | |
| type = PyExc_TypeError; | |
| break; | |
| case SWIG_DivisionByZero: | |
| type = PyExc_ZeroDivisionError; | |
| break; | |
| case SWIG_OverflowError: | |
| type = PyExc_OverflowError; | |
| break; | |
| case SWIG_SyntaxError: | |
| type = PyExc_SyntaxError; | |
| break; | |
| case SWIG_ValueError: | |
| type = PyExc_ValueError; | |
| break; | |
| case SWIG_SystemError: | |
| type = PyExc_SystemError; | |
| break; | |
| case SWIG_AttributeError: | |
| type = PyExc_AttributeError; | |
| break; | |
| case SWIG_NullReferenceError: | |
| type = PyExc_TypeError; | |
| break; | |
| default: | |
| type = PyExc_RuntimeError; | |
| } | |
| return type; | |
| } | |
| SWIGRUNTIME void | |
| SWIG_Python_AddErrorMsg(const char* mesg) | |
| { | |
| PyObject *type = 0; | |
| PyObject *value = 0; | |
| PyObject *traceback = 0; | |
| if (PyErr_Occurred()) | |
| PyErr_Fetch(&type, &value, &traceback); | |
| if (value) { | |
| PyObject *old_str = PyObject_Str(value); | |
| PyObject *bytes = NULL; | |
| const char *tmp = SWIG_PyUnicode_AsUTF8AndSize(old_str, NULL, &bytes); | |
| PyErr_Clear(); | |
| SWIG_Py_XINCREF(type); | |
| if (tmp) | |
| PyErr_Format(type, "%s %s", tmp, mesg); | |
| else | |
| PyErr_Format(type, "%s", mesg); | |
| SWIG_Py_XDECREF(bytes); | |
| SWIG_Py_DECREF(old_str); | |
| SWIG_Py_DECREF(value); | |
| } else { | |
| PyErr_SetString(PyExc_RuntimeError, mesg); | |
| } | |
| } | |
| SWIGRUNTIME int | |
| SWIG_Python_TypeErrorOccurred(PyObject *obj) | |
| { | |
| PyObject *error; | |
| if (obj) | |
| return 0; | |
| error = PyErr_Occurred(); | |
| return error && PyErr_GivenExceptionMatches(error, PyExc_TypeError); | |
| } | |
| SWIGRUNTIME void | |
| SWIG_Python_RaiseOrModifyTypeError(const char *message) | |
| { | |
| if (SWIG_Python_TypeErrorOccurred(NULL)) { | |
| /* Use existing TypeError to preserve stacktrace and enhance with given message */ | |
| PyObject *newvalue; | |
| PyObject *type = NULL, *value = NULL, *traceback = NULL; | |
| PyErr_Fetch(&type, &value, &traceback); | |
| newvalue = PyUnicode_FromFormat("%S\nAdditional information:\n%s", value, message); | |
| if (newvalue) { | |
| SWIG_Py_XDECREF(value); | |
| PyErr_Restore(type, newvalue, traceback); | |
| } else { | |
| PyErr_Restore(type, value, traceback); | |
| } | |
| } else { | |
| /* Raise TypeError using given message */ | |
| PyErr_SetString(PyExc_TypeError, message); | |
| } | |
| } |