學習python(五) 異常

分類:編程 時間:2017-03-12

python使用異常對象來表示異常情況。遇到異常後,會引發異常,如果異常對象未被處理或捕獲,程序就會用回溯並終止執行。如果知道某段代碼可能導致某種異常,如除零,又不希望終止,那麽就根據需要添加try/except 或者try/finally進行處理。

雖然使用條件語句也能實現與異常處理同樣的功能,但是條件語句可能在自然性和可讀性上差些,所以盡量使用異常處理機制。(在做一件事時去處理可能出現的錯誤,而不是在開始做事前就進行大量的檢查)

每個異常都是一些類的實例,常見的異常類有:

Exception 所有異常類的基類

AttributeError 特性引用或賦值失效導致

IOError 試圖打開不存在的文件

IndexError 序列中索引越界

KeyError 使用映射中不存在的鍵

NameError 找不到名字或者變量

SyntaxError 語法錯誤

TypeError 類型錯誤

ValueError 值錯誤

ZeroDivisionError 除0錯誤

自定義異常類

class CustomException(Exception):pass

拋出異常

raise Exception(“some thing error.”)

捕獲異常

使用try/except 語句

try:

x = input("Enter the first number : ")

y = input("Enter the second number : ")

print x / y

except ZeroDivisionError:

print “The Second number can't be zero!”

捕獲多個異常

try:

code

except ZeroDivisionError:

print “The Second number can't be zero!”

except TypeError:

print “That wasn't a number.”

另一種形式

except (ZeroDivisionError, TypeError, NameError):

print “some thing wrong.”

捕捉所有異常

except:

print “some thing wrong.”

或者

except Exception, e:

print e

它可以讓程序繼續運行,並且能打印錯誤。

else語句,當沒有異常發生時做某些動作

try:

code

except:

pass

else:

pass

finally語句,用來在可能的異常後進行清理

try:

code

finally:

pass

不管try中是否發生異常,finally語句總會執行


Tags: python except number second Enter

文章來源:


ads
ads

相關文章
ads

相關文章

ad