mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
bpo-32788: Better error handling in sqlite3. (GH-3723)
Propagate unexpected errors (like MemoryError and KeyboardInterrupt) to user.
This commit is contained in:
parent
dffccc6b59
commit
fc662ac332
7 changed files with 154 additions and 122 deletions
|
|
@ -1432,6 +1432,7 @@ finally:
|
|||
static PyObject *
|
||||
pysqlite_connection_iterdump(pysqlite_Connection* self, PyObject* args)
|
||||
{
|
||||
_Py_IDENTIFIER(_iterdump);
|
||||
PyObject* retval = NULL;
|
||||
PyObject* module = NULL;
|
||||
PyObject* module_dict;
|
||||
|
|
@ -1451,9 +1452,12 @@ pysqlite_connection_iterdump(pysqlite_Connection* self, PyObject* args)
|
|||
goto finally;
|
||||
}
|
||||
|
||||
pyfn_iterdump = PyDict_GetItemString(module_dict, "_iterdump");
|
||||
pyfn_iterdump = _PyDict_GetItemIdWithError(module_dict, &PyId__iterdump);
|
||||
if (!pyfn_iterdump) {
|
||||
PyErr_SetString(pysqlite_OperationalError, "Failed to obtain _iterdump() reference");
|
||||
if (!PyErr_Occurred()) {
|
||||
PyErr_SetString(pysqlite_OperationalError,
|
||||
"Failed to obtain _iterdump() reference");
|
||||
}
|
||||
goto finally;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue