1
我是不是很愚蠢的做這樣的事情?我覺得我可能不會從根本上理解try catch
塊的目的。多次嘗試在循環中的catch塊
我有一個腳本,我想在自動駕駛上運行一個守護進程,有時會發生什麼,它會檢查列表中的某些資源是否完全分配。如果資源完全分配,它不能繼續一件事,但還有其他的東西可以做。因爲我也是從API調用某些東西,API有時會拋出Exception
非常普遍(就像API_Exception
)。在這種情況下正在做多個try
塊嗎?
的主要問題是,break
不允許我出去循環
for:
try:
stuff()
except ExceptionA:
handle()
break
except ExceptionB:
report()
sys.exit()
try:
other_stuff()
except ExceptionA:
handle_in_a_different_way()
break
except ExceptionC:
report()
sys.exit()
other_code_that_should_execute_if_there_is_a_break()
。在這種情況下,我應該只是結合這兩個塊,趕上ExceptionA
一次? ExceptionA
可能不容易解析參數。
for:
try:
stuff()
other_stuff()
except ExceptionA:
if ExceptionA has param
handle()
elif ExceptionA has other param
handle_in_a_different_way()
except ExceptionB:
report()
sys.exit()
except ExceptionC:
report()
sys.exit()
你可以在except(ExceptionB,ExceptionC):'後面的情況下分組。 –