Python 如果返回值不为零,是否可以引发异常?

Python 如果返回值不为零,是否可以引发异常?,python,exception,return-value,Python,Exception,Return Value,我希望调用函数直到返回非零,如下所示: def a(): 返回0 def b(): 返回1 def c(): 返回0 定义顺序: 如果a()!=0: raise BASE异常 如果b()!=0: raise BASE异常 如果c()!=0: raise BASE异常 seq() 这里调用的是a和b,而不是c。如果c在b之前,则将调用所有三个,如果b是第一个,则仅调用b 我希望这更简洁。如果b抛出异常而不是返回非零值,这将很容易,因为我可以使用try块。但是没有,所以我不能 如何删除此处的冗余代

我希望调用函数直到返回非零,如下所示:

def a():
返回0
def b():
返回1
def c():
返回0
定义顺序:
如果a()!=0:
raise BASE异常
如果b()!=0:
raise BASE异常
如果c()!=0:
raise BASE异常
seq()
这里调用的是
a
b
,而不是
c
。如果
c
b
之前,则将调用所有三个,如果
b
是第一个,则仅调用
b

我希望这更简洁。如果
b
抛出异常而不是返回非零值,这将很容易,因为我可以使用
try
块。但是没有,所以我不能

如何删除此处的冗余代码?有没有像
try
这样的块可以处理这个问题?

因为Python支持,所以可以使用
for
循环来实现这一点

Python允许您将函数放在一个列表中,然后像任何其他值一样迭代它们

def a():
返回0
def b():
返回1
def c():
返回0
对于[a,b,c]中的func:
如果func()!=0:
raise BASE异常
因为Python支持,所以您可以使用
for
循环来实现这一点

Python允许您将函数放在一个列表中,然后像任何其他值一样迭代它们

def a():
返回0
def b():
返回1
def c():
返回0
对于[a,b,c]中的func:
如果func()!=0:
raise BASE异常