Python異常處理機制

Thinkgamer_gyt發表於2015-09-24

Python和java相比,同樣擁有強大的異常處理機制,下面讓我們一起來看看Python是如何處理異常的

1,try...except....

eg1:

a,b=1,0

try:
    a/b
except:
    print "ERROR"

print “END”

output:

ERROR

END

解析:try測試裡邊的程式碼是否有錯,若有錯執行except語句,然後執行最後一行print語句,就是說Python的try,except不管怎樣都會執行最後的print語句

2,try...except....else.....

eg2:

a,b=1,0

try:
    a/2
except:
    print "ERROR"

else:
    print "執行else"


output:執行else

解析如果try語句沒有錯誤,會執行最後的else語句

3,try...except Exception as e....

eg3:

a,b=1,0

try:
    a/b
except Exception as e:
    print e

output:integer division or modulo by zero

解析:會列印出具體的異常資訊

4,try.....finally....

具體參考此篇部落格:http://blog.csdn.net/gamer_gyt/article/details/42439725

5,用raise引發異常,之後的程式碼將不能執行

用法:raise MyError

eg4:

try:
     s = None
     if s is None:
         print "s 是空物件"
         raise NameError     #如果引發NameError異常,後面的程式碼將不能執行
     print len(s)
except TypeError:
     print "空物件沒有長度"

output:
s 是空物件

Traceback (most recent call last):
  File "E:\【程式碼】Python\StudyBasic\SomeProgram\異常.py", line 8, in <module>
    raise NameError     #如果引發NameError異常,後面的程式碼將不能執行
NameError


更多用法請參考:http://www.cnblogs.com/dkblog/archive/2011/06/24/2089026.html

相關文章