如何在一個函數中嘗試某些操作,然後將除處理過程傳遞給另一個函數?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
包括與問題相關的代碼會更好。沒有代碼不是更好。 –