首頁 >後端開發 >Python教學 >python中異常捕獲方法

python中異常捕獲方法

高洛峰
高洛峰原創
2017-03-03 11:22:281437瀏覽

在Python中處理異常使用的是try-except程式碼區塊,try-except程式碼區塊放入讓python執行的操作,同時告訴python程式如果發生了異常該怎麼辦,try-except這個功能其實很多入門書中都放到了高級篇幅裡,在入門的時候一般不會講這個使用,尤其是作為運維人員,如果你經常寫shell,轉到python後估計也很少使用這個功能,這功能我覺得說明了shell和python的一個重要區別,因為python是一門真正的程式語言,像其它的程式語言php,java等都會提供異常捕獲功能,用這些程式寫出的程式碼是要健壯性的,如果你閱讀有些其他人寫的程式碼,尤其是一些socket程式設計方面的程式碼,很多都是try…except…,有的還except好多個,來判斷各種各樣的情況,既然這個功能這麼有用,我們就來盡快了解下看如何使用的吧。

第一我們先看看它的語法,語法很簡單,就是在try-except中放入你想要執行的程式碼區塊,例如:、

# #

try:
  somecode1
except 异常类型/名称:
  somecode2

這是最簡單的一種情況,如果情況複雜可以使用多個except句子,例如:

try:
  somecode0
except 异常类型/名称1:
  somecode1
except 异常2:
  somecode2
except 异常3:
  somecode3

try-except還有更進階的用法,加入else,finally等,今天我們不展開說了有興趣的可以自己深入研究下。

接下來我們來看一個簡單例子,讀寫文件我們經常的操作,一個常見的問題就是找不到文件,或者文件名稱,路徑不正確,對這種情況,你就可以採用try-except程式碼區塊直覺的方式來處理了:

try:
  withopen(filename, 'r+') as fp:
    data = fp.read()
exceptIOError:
  msg = 'sorry, can not read or write this ' + filename
  printmsg

#我們再看一個多except的例子,2個數字相減:

loop = 1
while loop == 1:
  try:
    a = input('请输入第一个数字> ')
    b = input('请输入第二个数字 > ')
  exceptNameError:
    print "请输入数字,不能输入字母"
 continue
  exceptSyntaxError:
    print "请仅输入一个数字."
 continue
  print a - b
  try:
    loop = input('按1再开始 > ')
  except (NameError,SyntaxError):
    loop = 0

以上二個例子就是最簡單的try-except的用法了,如果想要保證腳本的健壯性,後續可多用try-except程式碼區塊吧,這會讓你的程式碼看起來更專業。

更多python中異常捕獲方法相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn