我想知道是否有任何方法可以捕获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。并从提出该例外的行继续。