Django 为什么fail_没有捕获异常?它捕获了哪些异常?
不知怎的,使用django 1.7和默认的电子邮件后端,我得到了一个错误:111连接被拒绝。这是作为异常触发的,即使fail_静默参数为True也是如此 这句话是这样的:Django 为什么fail_没有捕获异常?它捕获了哪些异常?,django,Django,不知怎的,使用django 1.7和默认的电子邮件后端,我得到了一个错误:111连接被拒绝。这是作为异常触发的,即使fail_静默参数为True也是如此 这句话是这样的: return send_mail(subject=u"Bienvenido a Mi CNT!", message=render_to_string('micnt/mail.welcome.txt', context), from_em
return send_mail(subject=u"Bienvenido a Mi CNT!",
message=render_to_string('micnt/mail.welcome.txt', context),
from_email=settings.DEFAULT_FROM_EMAIL,
recipient_list=[email_address],
fail_silently=True,
html_message=render_to_string('micnt/mail.welcome.html', context))
我知道如何修复异常(我忘记配置某些参数)。但是,在某些情况下,异常可能是由于其他原因造成的(例如,我正确指定了邮件参数,但服务器停机)
为什么fail\u不起作用?静默失败的“范围”是什么?(即,它涵盖哪些错误,以及它将哪些错误传递给调用程序?)
我希望正确涵盖例外情况,而无需:
try:
return send_mail(...)
except Exception as e:
# I want to understand what exception types will be triggered here.
pass
send\u mail
尝试连接到电子邮件服务器(执行get\u connection
)时,fail\u静默
仅捕获SMTPException
)
我想借此机会了解django源代码,其中包含所有答案: