Форум сайта python.su
0
Здравствуйте.
Если база данных повреждена, я хотел бы сообщать об этом в графическом интерфейсе. Как перехватить исключение? Консоль сообщает:
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
Офлайн
294
Voroshekдля этого есть конструкция try- except
Как перехватить исключение?
... try: чегототам.open(.....) except dbm.error: #тут выводим окошко "база повреждена и не может быть открыта"...
[code python][/code]
Отредактировано PEHDOM (Янв. 28, 2019 10:21:09)
Офлайн
186
> dbm.error: db type could not be determined
НЕ ИСПОЛЬЗУЙ shelve.
Офлайн
0
PEHDOMС этого и начинал, фейл:
except dbm.error:
NameError: name 'dbm' is not defined
Офлайн
221
Voroshek
ну так его надо перед этим испортировать явно
import dbm
Офлайн