我有以下功能:
def outer_function():
return 'It worked'
def fun():
try:
return function1()
except:
return function2()
执行fun()
时,我想检查如果function1()
正常工作,那么fun()
可以返回一个这样的数组
[function1(),outer_function()]
我如何检查function1()
是否在fun()
内工作并返回所需的输出?
答案 0 :(得分:2)
你可以为function1输出创建一个变量,如果function1抛出一个错误,它将停止return语句并进入catch / except。否则它将转到else语句并返回所需的数组:
def outer_function():
return 'It worked'
def fun():
try:
x = function1()
except:
return function2()
else:
return [x, outer_function()]
答案 1 :(得分:1)
不是返回(n-1)
,而是function1()
所以你的功能是:
return [function1(), outer_function()]
如果def fun():
try:
return [function1(), outer_function()]
except:
return function2()
引发错误,则不会返回该数组。相反,try块将捕获异常。
注意:此代码取决于function1()
和function2
不会引发任何错误的事实。
答案 2 :(得分:0)
我已经尝试过您的问题并在'Repl.it'在线编译器上进行了操作。 Here Your Link
def function1():
try:
return True
except :
return False
def function2():
try:
return True
except:
return False
def outer_function():
return 'It worked'
def fun():
if function1():
return [function1(), outer_function()]
else:
return function2()
print(fun())