Python Glossary English

все Python 3sqlite3исключение

sqlite3.InterfaceError

исключения

Ошибка неправильного использования низкоуровневого C API SQLite; подкласс sqlite3.Error, обычно указывает на баг в самом модуле sqlite3, а не в базе данных.

Синтаксис

sqlite3.InterfaceError

Практический вывод один: except sqlite3.DatabaseError его НЕ поймает — InterfaceError стоит на дереве рядом с DatabaseError, общий предок у них только sqlite3.Error, поэтому «ловим вообще всё про БД» пишется именно через Error. Отдельной обработки это исключение обычно не заслуживает: проблема не в вашем SQL и не в данных, а в неправильном обращении к C API, так что переписывать запрос бесполезно.

Примеры

import sqlite3
print(issubclass(sqlite3.InterfaceError, sqlite3.Error))          # → True
print(issubclass(sqlite3.InterfaceError, sqlite3.DatabaseError))  # → False
print(sqlite3.InterfaceError.__name__)                            # → InterfaceError
try: raise sqlite3.InterfaceError('мисюз C API')
except sqlite3.Error as e: print(type(e).__name__)                # → InterfaceError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности