все Python 3Исключенияисключение
encodings.CodecRegistryError
модульные исключения
Ошибка реестра кодеков: модуль из пакета encodings вернул негодную или несовместимую запись кодека (подкласс LookupError и SystemError).
Синтаксис
raise encodings.CodecRegistryError(...)
Это не про «неправильную кодировку»: неизвестное имя кодировки даёт обычный LookupError, а битые байты — UnicodeDecodeError. CodecRegistryError означает поломку самого механизма кодеков — модуль из пакета encodings зарегистрировал что-то, не годное как CodecInfo. В учебном коде почти не встречается; из-за наследования сразу от LookupError и SystemError его перехватит и except LookupError.
Примеры
import encodings
print(issubclass(encodings.CodecRegistryError, Exception)) # → True
print(issubclass(encodings.CodecRegistryError, LookupError)) # → True
print(issubclass(encodings.CodecRegistryError, SystemError)) # → True
print(encodings.CodecRegistryError('bad search function')) # → bad search function
print('abc'.encode('nosuchcodec')) # → LookupError
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности