所屬網站分類: python基礎 > 異常處理 作者:浮沉 鏈接:http://www.pythonheidong.com/blog/article/71/ 來源:python黑洞網,專註python資源,python教程,python技術! 我知道你能做到: try: # do something ...
所屬網站分類: python基礎 > 異常處理
作者:浮沉
鏈接:http://www.pythonheidong.com/blog/article/71/
來源:python黑洞網,專註python資源,python教程,python技術!
我知道你能做到:
try: # do something that may fail except: # do this if ANYTHING goes wrong你也可以這樣做:
try: # do something that may fail except IDontLikeYouException: # say please except YouAreTooShortException: # stand on a ladder但如果我想在兩個不同的異常中做同樣的事情,我現在能想到的最好的就是這樣做:
try: # do something that may fail except IDontLikeYouException: # say please except YouAreBeingMeanException: # say please有什麼辦法我可以做這樣的事情(因為兩個異常的結果都是say please):
try: # do something that may fail except IDontLikeYouException, YouAreBeingMeanException: # say please實際上這不起作用,因為python把它當做以下語法:
try: # do something that may fail except Exception, e: # say please
因此,在一行中捕獲多個異常並沒有實現。
有沒有辦法做到這一點?
通過閱讀官方文檔,我找到了答案:
except (IDontLikeYouException, YouAreBeingMeanException) as e: pass或者(僅適用於Python 2):
except (IDontLikeYouException, YouAreBeingMeanException), e: pass
使用逗號將變數與變數分開仍然可以在Python 2.6和2.7中使用,但在Python 3中不起作用; 現在你應該使用as。