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异常