Python異常處理 分類: python Raspberry Pi 服務器搭建 2015-04-01 13:22 172人閱讀 評論(0) 收藏

一個程序要保持穩定運行必需要有異常處理,本文將簡單介紹Python中的try…except..異常處理語句的使用。
該種異常處理語法的規則是:python

  • 執行try下的語句,若是引起異常,則執行過程會跳到第一個except語句。
  • 若是第一個except中定義的異常與引起的異常匹配,則執行該except中的語句。
  • 若是引起的異常不匹配第一個except,則會搜索第二個except,容許編寫的except數量沒有限制。
  • 若是全部的except都不匹配,則異常會傳遞到下一個調用本代碼的最高層try代碼中。
  • 若是沒有發生異常,則執行else塊代碼(else無關緊要)。
  • 若是最後有finally語句,論異常是否發生,finally子句都會被執行。

演示try…except語句捕獲IOError異常markdown

try:
     file("hello.txt", "r")                  #若是文件不存在,引起異常
     print "讀文件"
except IOError:                              #捕獲IO異常
     print "文件不存在"
except#其它異常
     print "程序異常"

try…finally的使用方法
try…except後還能夠添加一個finally子句。不管異常是否發生,finally子句都會被執行。全部的finally子句一般用於關閉因異常而不能釋放的系統資源。spa

try:
     f = open("hello.txt", "r")
     try:
          print f.read(5)
     except:
          print "讀文件異常"
     finally:
          print "釋放資源"
          f.close()
except IOError:
     print "文件不存在"

使用raise拋出異常
當程序出現錯誤,python會自動引起異常,也能夠經過raise顯示地引起異常。一旦執行了raise語句,raise後面的語句將不能執行。code

try:
     s = None
     if s is None:
         print "s 是空對象"
         raise NameError     #若是引起NameError異常,後面的代碼將不能執行
     print len(s)
except TypeError:
     print "空對象沒有長度"

python異常處理還有不少內容,歡迎補充提出。對象

版權聲明:本文爲博主原創文章,未經博主容許不得轉載。資源

相關文章
相關標籤/搜索