2
例外が発生した場合は、常にメールを送信したいと考えています。今のように、私は__init()
にそのコードを配置することを計画していた。メールのスタックトレースが発生した場合の例外
import sendmail
import configparser
def MailException(BaseException):
"""
sends mail when initiated
"""
def __init__(self, message, config=None):
# Call the base class constructor with the parameters it needs
BaseException.__init__(message)
if config is None:
config = configparser.RawConfigParser()
config.read('mail.ini')
config = config['email']
text = 'exception stack trace + message'
sendmail.sendMail(text=text, config=config['email'], title='Alert')
私は明示的に代わりに私が作成するすべて除くブロックで、メール送信、ここを持っているしたいと思います。だから私はスタックトレースを取得する方法を疑問に思う、コードはPython 2.7と互換性があります。
私が見つけた唯一のものはtraceback
でしたが、これは明らかにexcept:
レルム内でしか動作しませんか、それともExceptionクラス内で実装する方法がありますか?他のアイデア?