当前位置: 首页 > 面试题库 >

Python —引发异常时发送电子邮件吗?

夏飞掣
2023-03-14
问题内容

我有python很多方法的类():

Method1()

Method2()

......

......

MethodN()

所有方法-在执行不同任务时-都有相同的方案:

do something
do something else
has anything gone wrong?
    raise an exception

我希望每当课程中的任何地方引发异常时都能够收到电子邮件。

有什么简单的方法可以将此逻辑组合到类中,而不是SendEmail()在每个raise Exception语句之前都调用?处理这种情况的正确,pythonic方法是什么?解决方案可以“通用”的异常处理程序吗?我很高兴您有任何想法。


问题答案:

注意:尽管这是解决上述问题的简单方法,但在大多数情况下,以下答案可能会更好。

如果是这样:

if problem_test():
    SendEmail()
    raise Exception

那为什么不定义一个自定义raise_email方法呢?

def raise_email(self, e):
    SendEmail()
    raise e


 类似资料: