Я хочу написать обработку ошибок для пользователя, который вводит неверный пароль для моего скрипта. Я продолжаю изменять код после инструкции except, но я не могу узнать, что такое правильный код для ошибки. Я что-то упускаю?Как обрабатывать ошибки с imaplib в Python
import imaplib
import email
mail = imaplib.IMAP4_SSL('imap.gmail.com')
username = raw_input('USERNAME (email):')
password = raw_input('PASSWORD: ')
try:
mail.login(username, password)
print "Logged in as %r !" % username
except:
imaplib.error
print "Log in failed."
mail.list()
# Out: list of "folders" aka labels in gmail.
mail.select("inbox") # connect to inbox.
fromWho = raw_input('FROM:')
result, data = mail.uid('search', None, '(FROM fromWho)')
latest_email_uid = data[0].split()[-1]
result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
raw_email = data[0][1]
print raw_email
... Или, вызывая ошибку без 'try' /' except' и изучить ошибку в отладочные сообщения. – tripleee
@tripleee: Он показывает 'imaplib.error' в traceback. И когда вы пытаетесь поймать 'imaplib.error',' AttributeError' забрасывается, говоря, что 'imaplib' не имеет атрибута' error'. Таким образом, из трассировки это совершенно непонятно, какое исключение поймать. –
благодарит за ответ! – metersk