2017-01-02 10 views
1

私はsend_mail関数を使用して電子メールを送信しようとしていましたが、fail_silently=Trueを使用すると例外が発生しないようにしたいと考えていました。fail_silently = Trueの場合のsend_mailの例外

SMTPExceptionが生成されているとうまくいくことがわかります。しかし、私はsocket.error exceptionを傍受しないことに気づいた - ので、STMPサーバがダウンした場合、例外は私が今では、私はそれらをキャッチすることができますsend_mailによって発生した例外の完全なリストを取得する方法を思ったんだけどfail_silently=True

でさえも発生しますtry/exceptループ内。助言がありますか?

+1

もしあなたが捕まえるべき例外が不明ならば、単純に 'Exception'をキャッチしてください。 – ruddra

+0

@ruddra私はPyCharmが"あまりにも広い例外原因 "を警告すると思っていたので、最初はやりたくありませんでした。しかし、私が '例外をeとする以外は:'それは完全に有効であるようです。ありがとうございました! –

答えて

1

キャッチフレーズExceptionは非常に最終的なアプローチだと思います。 SMTPExceptionsocket.errorはともにIOErrorの子であるため、代わりにIOErrorをキャッチすることができます。あなたが他のものをキャッチするなら、後でキャッチリストにこれを追加することができます。

関連する問題