歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Python中的異常處理

在編寫程序時可能會出現一些異常,比如類型錯誤,除零錯誤等,為了能捕獲並處理這些異常,可以使用python的異常處理功能。python使用raise語句可以拋出異常,對於可能出現異常的語句塊,用try語句包圍起來,並用except捕捉,就可以實現異常處理了,比如:

x=input("first number:")
y=input("second number:")
try:
 print x/y
except ZeroDivisionError:
 print "error"

y為零時會引發異常。

如果要捕捉兩個或者更多的異常,except後面加上括號即可,如上面的except語句可以改為except (ZeroDivisionError,TypeError),這樣可以捕獲除零和類型異常。如果想記錄異常信息,可以這樣寫:except ZeroDivisionError,e:接下來就可以處理異常信息,比如打印等。空的except語句可以捕獲所有的異常。在except語句後面還可以加上else語句,用於處理沒有異常發生的情況,比如:

while 1:
x=input("first number:")
y=input("second number:")
try:
 print x/y
except ZeroDivisionError:
 print "error"
else:
 break

上面的程序中,如果遇到除數為零的情況程序會循環,不為零時,程序會執行到break語句從而跳出循環。

finally語句也非常有用,它位於異常處理的後面,它內部的代碼一定會被執行,它可以用於清理異常。

#!/usr/bin/env python
x=input("first number:")
y=input("second number:")
try:
 print x/y
except ZeroDivisionError:
 print "error"
finally:
 sys.exit(1)

也可以自定義異常類,例如:

#!/usr/bin/env python
class myError(Exception):
 def __init__(self,value):
  self.value=value; 
try:
 raise myError(2)
except myError,e:
 print "exception's value is",e.value

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved