在Python的try catch块中根据条件调用不同的函数

时间:2017-04-18 07:28:29

标签: python try-catch

我有一个代码,我应该根据条件调用不同的函数。以下是我的代码

try:
    if condition_1 is True:
        function1()
    if condition_2 is True:
        function2()
    if condition_3 is True:
        function3()

except Exception, e:
    raise e

有些情况可能属实。因此需要调用和执行多个函数。 直到今天,当函数中的一个引发异常时,它工作正常。

condition_1condition_3都属实。因此function1function3应该被执行。 当它调用function1时,由于function1中的某些错误,它引发了异常,而没有执行function3。我想要的是,即使function1引发错误,它仍应继续并检查其他条件并相应地执行相应的功能。

解决此问题的一种方法是在单独的try / catch块中写入每个if条件。但是,有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

在我看来,如果出现任何问题,必须允许例外中断进程。但是,您可以通过删除raise关键字来实现此行为。

try:
    if condition_1 :
        function1()
    if condition_2 :
        function2()
    if condition_3 :
        function3()
except Exception, e:
    pass

请查看Why is “except: pass” a bad programming practice?

P.S。:您无需在条件中检查是否True is True