我有一些函数,它们尝试根据一组输入数据使用各种方法来解决问题。如果该方法无法解决问题,则该函数将引发异常。
我需要按顺序尝试它们,直到没有异常。
我正在尝试找到一种优雅的方法:
try:
answer = method1(x,y,z)
except MyException:
try:
answer = method2(x,y,z)
except MyException:
try:
answer = method3(x,y,z)
except MyException:
...
Run Code Online (Sandbox Code Playgroud)
在伪代码中,我的目标是:
tryUntilOneWorks:
answer = method1(x,y,z)
answer = method2(x,y,z)
answer = method3(x,y,z)
answer = method4(x,y,z)
answer = method5(x,y,z)
except:
# No answer found
Run Code Online (Sandbox Code Playgroud)
要明确:method2除非method1失败,否则不能调用,依此类推。