Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 24, 2019 23:05:14

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Перехватить исключение shelve

Здравствуйте.
Если база данных повреждена, я хотел бы сообщать об этом в графическом интерфейсе. Как перехватить исключение? Консоль сообщает:

 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



python3 openSUSE-43Leap

Офлайн

#2 Янв. 28, 2019 10:20:17

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Перехватить исключение shelve

Voroshek
Как перехватить исключение?
для этого есть конструкция try- except
 ...
try:
    чегототам.open(.....)
except dbm.error:
    #тут выводим окошко "база повреждена и не может  быть открыта"...



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Янв. 28, 2019 10:21:09)

Офлайн

#3 Янв. 28, 2019 11:46:58

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Перехватить исключение shelve

> dbm.error: db type could not be determined

НЕ ИСПОЛЬЗУЙ shelve.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#4 Янв. 29, 2019 14:27:19

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Перехватить исключение shelve

PEHDOM
С этого и начинал, фейл:
 except dbm.error:
NameError: name 'dbm' is not defined



python3 openSUSE-43Leap

Офлайн

#5 Янв. 29, 2019 15:12:13

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Перехватить исключение shelve

Voroshek
ну так его надо перед этим испортировать явно

 import dbm



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version