python中的異常處理

2021-09-07 17:15:00 字數 1911 閱讀 9684

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的核心提供的異常,大多數都是例項化的類,這是乙個類的例項的引數。

定義乙個異常非常簡單,如下所示:

1

#-*- 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

10.效果

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 ...