Должен ли я не вернуть возвращение из этого метода ниже в конце? Pylint дает ошибку для этого изречения: 3: return statement in finally block may swallow exception (lost-exception)
должен вернуться за пределы, наконец, и отлично ли обрабатывается исключение?
def sendMessage(self, subject, msgContent, files, mailto):
""" Send the email message
Args:
subject(string): subject for the email
msgContent(string): email message Content
files(List): list of files to be attached
mailto(string): email address to be sent to
"""
msg = self.prepareMail(subject, msgContent, files, mailto)
# connect to server and send email
server=smtplib.SMTP(self.smtpserver, port=self.EMAIL_PORT)
server.ehlo()
# use encrypted SSL mode
server.starttls()
# to make starttls work
server.ehlo()
server.login(self.usrname, self.password)
server.set_debuglevel(self.debug)
try:
failed = server.sendmail(self.mailFrom, mailto, msg.as_string())
except Exception as er:
print er
finally:
server.quit()
if failed:
return False
return True
Если предположить, что 'failed' является локальным переменным и есть исключение в' sendmail' , тогда 'fail' не будет определен в блоке' finally'. Это предназначено? – Nabla
@ Набла это правильно, его ошибка! –