我有一个代码,我应该根据条件调用不同的函数。以下是我的代码
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_1
和condition_3
都属实。因此function1
和function3
应该被执行。
当它调用function1
时,由于function1
中的某些错误,它引发了异常,而没有执行function3
。我想要的是,即使function1
引发错误,它仍应继续并检查其他条件并相应地执行相应的功能。
解决此问题的一种方法是在单独的try / catch块中写入每个if条件。但是,有没有更好的方法来解决这个问题?
答案 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
。