如何在一个函数中尝试某些操作,然后将除处理过程传递给另一个函数?Python 3提高和捕捉异常
我想能够尝试2个功能,如果他们都返回一个错误,这两个错误将handeld。但如果其中一个工作,那么一切都应该没问题,并且不应该返回错误信息(应该返回工作的函数)。即使我在try块中尝试的一个函数崩溃了。
也许有一个链接描述了这种类型的错误处理?
如何在一个函数中尝试某些操作,然后将除处理过程传递给另一个函数?Python 3提高和捕捉异常
我想能够尝试2个功能,如果他们都返回一个错误,这两个错误将handeld。但如果其中一个工作,那么一切都应该没问题,并且不应该返回错误信息(应该返回工作的函数)。即使我在try块中尝试的一个函数崩溃了。
也许有一个链接描述了这种类型的错误处理?
我不知道如果我理解正确,但也许这将帮助:
def f1():
raise ValueError
def f2():
return "Success!"
def f():
result = None
try:
result = f1()
except:
pass
try:
result = f2()
except:
pass
if result is not None:
return result
else:
print "Both function crashed!
我希望这回答了你的问题,如果没有,说明你想要的其他功能。
一个嵌套的try/except块应该弄完:
try:
function1()
except:
try:
function2()
except:
# Do something...
第一个函数运行,那么如果出现异常,第二funcrion运行。如果两者均失败,则在最后的除外区块中处理它们。
至于第二个问题,您可以直接在读取文件时提出错误,然后__init__
除块可以处理它。
一些解释会对OP有帮助。谢谢 – user2728397
是我还是与问题无关的代码? –
是的,很抱歉改变了它 – Fanny
包括与问题相关的代码会更好。没有代码不是更好。 –