diff options
author | Guido van Rossum <guido@python.org> | 1997-09-16 18:43:15 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1997-09-16 18:43:15 (GMT) |
commit | 0474832d9c6c708d8addd31a989dff772fdfefbf (patch) | |
tree | e6555ed7cb50edcbcb7191fcec122031bc02b898 | |
parent | c56ba3835056dda7b9ef0d406bda0532b52aab38 (diff) | |
download | cpython-0474832d9c6c708d8addd31a989dff772fdfefbf.zip cpython-0474832d9c6c708d8addd31a989dff772fdfefbf.tar.gz cpython-0474832d9c6c708d8addd31a989dff772fdfefbf.tar.bz2 |
Introduce PyExc_Exception as the conceptual root class for all exceptions.
-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"); |