2012-06-09 117 views
1

然後使用Python的嘗試捕捉您可以捕捉錯誤,他們ASIGN給一個變量與as關鍵字如何捕捉默認錯誤?

try 
    do something.. 
except IOError as e: 
    do something with e.. 

但是隨後試圖做同樣的事情,不知道錯誤蟒蛇類型抱怨的語法。

try 
    do something.. 
except as e: 
    do something with e.. 

是否有任何方法來捕獲默認錯誤並將其賦值給變量?

回答

7

是的。所有例外都來自Exception類。

所以,你可以這樣做:

try: 
    doSomething() 
except Exception as e: 
    doSomethingWithException(e) 

這是一種包羅萬象的線。

0

你也可以使用sys.exc_info()。這允許您使用相同的代碼在Python 2.x和Python 3.x上處理異常。

0

傳統的方式是:

try: 
    do_whatever() 
except Exception as e: 
    handle_it() 

雖然它是不明智趕上罕見的節選。

值得注意的是KeyboardInterrupt和SystemExit繼承自BaseException而不是Exception,所以如果你期待迎合這些,那麼這些將不會被捕獲,但這應該不是問題,因爲它們應該在頂層處理無論如何。