1.介紹
python提供了兩個非常重要的功能來處理python程式在執行**現的異常和錯誤。你可以使用該功能來除錯python程式。
2.異常處理
捕捉異常可以使用try/except語句。
try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常資訊並處理。
如果你不想在異常發生時結束你的程式,只需在try裡捕獲它。、
語法:以下為簡單的try....except...else的語法:
3.流程
4.使用except而不帶任何異常型別
以上方式try-except語句捕獲所有發生的異常。但這不是乙個很好的方式,我們不能通過該程式識別出具體的異常資訊。因為它捕獲所有的異常。
5.使用except而帶多種異常型別
6.try-finally 語句
try-finally 語句無論是否發生異常都將執行最後的**。
7.異常的引數
乙個異常可以帶上引數,可作為輸出的異常資訊引數。
變數接收的異常值通常包含在異常的語句中。
在元組的表單中變數可以接收乙個或者多個值。
元組通常包含錯誤字串,錯誤數字,錯誤位置。
8.觸發異常
我們可以使用raise語句自己觸發異常。
語法:raise[exception[,args [,traceback]]]
語句中exception是異常的型別(例如,nameerror)引數是乙個異常引數值。該引數是可選的,如果不提供,異常的引數是"none"。
最後乙個引數是可選的(在實踐中很少使用),如果存在,是跟蹤異常物件。
9.程式
乙個異常可以是乙個字串,類或物件。 python的核心提供的異常,大多數都是例項化的類,這是乙個類的例項的引數。
定義乙個異常非常簡單,如下所示:
110.效果#-*- coding: utf-8 -*-2#
定義函式
3def
mye( level ):
4if level < 1:
5raise exception("
invalidlevel!
", level)6#
觸發異常後,後面的**就不會再執行78
try:
9 mye(0.001)
10except
"invalidlevel!":
11print 1
12else:13
print 2
11.自定義異常
通過建立乙個新的異常類,程式可以命名它們自己的異常。異常應該是典型的繼承自exception類,通過直接或間接的方式。
在try語句塊中,使用者自定義的異常後執行except塊語句,變數 e 是用於建立networkerror類的例項。
python 中的異常處理
python的異常處理能力是很強大的,可向使用者準確反饋出錯資訊。在python中,異常也是物件,可對它進行操作。所有異常都是基類exception的成員。所有異常都從基類exception繼承,而且都在exceptions模組中定義。python自動將所有異常名稱放在內建命名空間中,所以程式不必匯...
Python中的異常處理
當python檢測到乙個錯誤時,直譯器就無法繼續執行了,反而出現了一些錯誤的提示,這就是所謂的 異常 看如下示例 try print test1 open 123.txt r print test2 except ioerror pass此時可以正常執行,執行結果為 test1 說明 try exc...
python中的異常處理
python使用異常物件來表示異常狀態,並在遇到錯誤時引發異常,異常物件未被處理時,程式將終止並顯示一條錯誤資訊。raise語句 自定義異常類 class somecustomexception exception pass class myexceptionclass exception def ...