summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
Diffstat (limited to 'Python')
-rw-r--r--Python/bltinmodule.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 63531db..f4575dc 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -1935,7 +1935,9 @@ PyObject *PyExc_AssertionError;
PyObject *PyExc_AttributeError;
PyObject *PyExc_EOFError;
PyObject *PyExc_FloatingPointError;
+PyObject *PyExc_EnvironmentError;
PyObject *PyExc_IOError;
+PyObject *PyExc_OSError;
PyObject *PyExc_ImportError;
PyObject *PyExc_IndexError;
PyObject *PyExc_KeyError;
@@ -1968,7 +1970,9 @@ bltin_exc[] = {
{"AttributeError", &PyExc_AttributeError, 1},
{"EOFError", &PyExc_EOFError, 1},
{"FloatingPointError", &PyExc_FloatingPointError, 1},
+ {"EnvironmentError", &PyExc_EnvironmentError, 1},
{"IOError", &PyExc_IOError, 1},
+ {"OSError", &PyExc_OSError, 1},
{"ImportError", &PyExc_ImportError, 1},
{"IndexError", &PyExc_IndexError, 1},
{"KeyError", &PyExc_KeyError, 1},
@@ -2078,11 +2082,11 @@ initerrors(dict)
newstdexception(dict, bltin_exc[i].name);
}
- /* This is kind of bogus because we special case the three new
- exceptions to be nearly forward compatible. But this means we
- hard code knowledge about exceptions.py into C here. I don't
- have a better solution, though
- */
+ /* This is kind of bogus because we special case the some of the
+ * new exceptions to be nearly forward compatible. But this means
+ * we hard code knowledge about exceptions.py into C here. I don't
+ * have a better solution, though.
+ */
PyExc_LookupError = PyTuple_New(2);
Py_INCREF(PyExc_IndexError);
PyTuple_SET_ITEM(PyExc_LookupError, 0, PyExc_IndexError);
@@ -2099,6 +2103,13 @@ initerrors(dict)
PyTuple_SET_ITEM(PyExc_ArithmeticError, 2, PyExc_FloatingPointError);
PyDict_SetItemString(dict, "ArithmeticError", PyExc_ArithmeticError);
+ PyExc_EnvironmentError = PyTuple_New(2);
+ Py_INCREF(PyExc_IOError);
+ PyTuple_SET_ITEM(PyExc_EnvironmentError, 0, PyExc_IOError);
+ Py_INCREF(PyExc_OSError);
+ PyTuple_SET_ITEM(PyExc_EnvironmentError, 1, PyExc_OSError);
+ PyDict_SetItemString(dict, "EnvironmentError", PyExc_EnvironmentError);
+
PyExc_StandardError = PyTuple_New(exccnt-2);
for (i = 2; bltin_exc[i].name; i++) {
PyObject *exc = *bltin_exc[i].exc;