使python代码从引发异常的行继续

时间:2017-09-28 07:36:59

标签: python exception

我想知道是否有任何方法可以捕获python中的异常其他尝试catch,这有助于从引发异常的行继续。例如。

try:
    do something 1
    do something 2
    do something 3
    do something 4
except Exception1:
    do something
except:
    do something for all other exception

在上面,如果在做某事2时发生任何异常,它将捕获异常相应的事情,并退出阻止。

但我希望它捕获异常并执行一些操作并从执行某事3开始执行。

我能想到的一种方法是添加try除了每一行,或者将每行转换为函数并应用装饰器来处理异常。但我不觉得那样做会很好。就像你要执行100个动作一样,你不会做100个功能或添加100个试试。

必须有一些方法来处理这个问题,可能是通过为异常创建处理程序。但我不明白怎么做。谢谢,如果你能提供帮助。

注意:我现在没有任何要求。这只是出于好奇。如果能够以更好,更简单的方式实现这一目标。

编辑:伙计这不是重复的问题。我已经查过了。

我想知道是否有像我一样捕捉sigint和sigterm信号的方法。

class GracefulKiller:
    def __init__(self):
        signal.signal(signal.SIGINT, self.exit_gracefully)
        signal.signal(signal.SIGTERM, self.exit_gracefully)

    def exit_gracefully(self,signum, frame):
        print("Program was killed externally.")

如果我们可以为Exception创建处理程序,例如ValueError。并从提出该例外的行继续。

0 个答案:

没有答案