分享python exception的一點心得

來源:互聯網
上載者:User

python exception 是python 處理異常很重要的方法,它裡面有幾種寫法,你可以根據當時的情況不同來選擇不同的方法。 我分3個情況來分別的說明python exception的寫法和處理方式:

1最簡單最直接的處理方式: 假定我們在寫代碼的時候,有的時候怕程式會出問題,就會在可能出問題的地方用上try exception來捕獲程式出現的錯誤。

try:
    a = 1/0
except Exception,e:
    print e

輸出的結果是: integer division or modulo by zero

2在其中加了個判斷: 我們在寫一斷程式的時候,想如果有異常就輸出異常,如果沒異常就繼續執行下面的語句那該怎麼做呢? 就要用到try exception else: 比如:

try:
    a = 1/2
except Exception,e:
    print e
else:
    print 'success'

輸出的結果是success,因為上面的a = 1/2沒有報錯,它會執行else後面的語句,就像python 控制語句的iif else的效果一樣, 如果上面的程式有異常就執行except後面的語句,輸出異常,如果沒有異常的話,就會執行else後面的語句,

3不管有沒異常都要執行: 這個情況主要是如果你要操作什麼的東西,比如檔案或者網路等,不管它是否發生異常最後都要關閉資源,比如關閉檔案等。

try:
    f = file('1.txt','w')
    f.write('fefe')
except Exception,e:
    print e
finally:
    f.close()

上面假設我們在開啟檔案或者寫內容的時候出錯的話,會執行print e,接著會執行f.close()關閉檔案,有點像類的析構方法 作最後的收尾工作,其實不一定是有異常才會執行finally後面的方法,就算語句沒有出現異常的話,也會執行finally後面的語句,你可以自己實驗下看下效果。 我一般寫程式用到python exception的話,主要就是上面的3種解決方案了。

 

作者:老王@python python 教程
老王python,提供python相關的python 書籍,python 主機,django 教程和python 下載,希望大家能夠喜歡!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.