Найти - Пользователи
Полная версия: Перехватить исключение shelve
Начало » Python для новичков » Перехватить исключение shelve
1
Voroshek
Здравствуйте.
Если база данных повреждена, я хотел бы сообщать об этом в графическом интерфейсе. Как перехватить исключение? Консоль сообщает:
 File "/usr/lib64/python3.4/shelve.py", line 243, in open
    return DbfilenameShelf(filename, flag, protocol, writeback)
  File "/usr/lib64/python3.4/shelve.py", line 227, in __init__
    Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
  File "/usr/lib64/python3.4/dbm/__init__.py", line 88, in open
    raise error[0]("db type could not be determined")
dbm.error: db type could not be determined
PEHDOM
Voroshek
Как перехватить исключение?
для этого есть конструкция try- except
 ...
try:
    чегототам.open(.....)
except dbm.error:
    #тут выводим окошко "база повреждена и не может  быть открыта"...
Rodegast
> dbm.error: db type could not be determined

НЕ ИСПОЛЬЗУЙ shelve.
Voroshek
PEHDOM
С этого и начинал, фейл:
 except dbm.error:
NameError: name 'dbm' is not defined
JOHN_16
Voroshek
ну так его надо перед этим испортировать явно
 import dbm
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB