diff options
-rw-r--r-- | Include/pyerrors.h | 1 | ||||
-rw-r--r-- | Python/bltinmodule.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/Include/pyerrors.h b/Include/pyerrors.h index ece1f3f..580f6d7 100644 --- a/Include/pyerrors.h +++ b/Include/pyerrors.h @@ -53,6 +53,7 @@ void PyErr_NormalizeException Py_PROTO((PyObject**, PyObject**, PyObject**)); /* Predefined exceptions */ +extern DL_IMPORT(PyObject *) PyExc_Exception; extern DL_IMPORT(PyObject *) PyExc_StandardError; extern DL_IMPORT(PyObject *) PyExc_NumberError; extern DL_IMPORT(PyObject *) PyExc_LookupError; diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 251108f..2c858ec 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -1724,6 +1724,7 @@ static PyMethodDef builtin_methods[] = { /* Predefined exceptions */ +PyObject *PyExc_Exception; PyObject *PyExc_StandardError; PyObject *PyExc_NumberError; PyObject *PyExc_LookupError; @@ -1757,6 +1758,7 @@ static struct int leaf_exc; } bltin_exc[] = { + {"Exception", &PyExc_Exception, 0}, {"StandardError", &PyExc_StandardError, 0}, {"NumberError", &PyExc_NumberError, 0}, {"LookupError", &PyExc_LookupError, 0}, @@ -1901,6 +1903,11 @@ initerrors(dict) PyTuple_SET_ITEM(PyExc_StandardError, i-1, exc); } PyDict_SetItemString(dict, "StandardError", PyExc_StandardError); + + /* Exception is treated differently; for now, it's == StandardError */ + PyExc_Exception = PyExc_StandardError; + Py_INCREF(PyExc_Exception); + PyDict_SetItemString(dict, "Exception", PyExc_Exception); if (PyErr_Occurred()) Py_FatalError("Could not initialize built-in string exceptions"); |