python Exception 異常處理

2021-06-14 15:00:43 字數 1461 閱讀 2690

python 使用異常物件(exception object)來表示異常情況,遇到錯誤後,會引發異常。如果異常物件沒有**獲或者處理,程式就會用回溯(tracback,一種錯誤資訊)終止執行。

我們知道異常資訊可以提示出錯的資訊,所有的異常都是基類exception的子類,自定義異常可以從exception類中繼承。

常見的異常有:

使用異常的語句形式:

方式一:  使用try,except語句處理,當有多個異常時,可以使用多個except語句處理

ty:

code.....

except [exception,[data....]:

code......

except [exception,[data....]:

code......

except [exception,[data....]:

code......

注意:當處理多個異常時,如果有繼承異常時,子類(異常)要放到父類(異常)的前面,否則處理父類異常會截獲子類異常。

方式二:  當沒有發生異常時,執行else語句(類似與if else語句)

try:

code.....

except [exception,[data...]]:

code......

else:

code......

方式三:使用finally語句,當有沒有異常時多執行finally語句塊

try:

code....

except [exception,[data...]]:

code.....

finally:

code.....

except 語句塊可以省略。

python語言也支援自定義異常,自定義異常需要從基類exception繼承。

自定義乙個異常類(myexception)

class myexception(exception): pass
使用自定義異常類處理

try:

raise myexception

except myexception:

print 'a error'

上述**中的

raise

關鍵字是用來引發異常的,使用的方法,

raise + 異常的名字

raise

語句還可以對異常物件進行初始化的引數,使用的方法,在異常類的名稱後面新增乙個逗號以及指定的引數。

例如:raise  valueerror, 'invalid argument'

mysql 丟擲異常sql mysql 異常處理

該文章內容通過網路搜尋組合,mysql 異常,可以自定義異常,再應用。也可使用系統預設的異常,捕獲應用。一 異常定義 declare condition name condition for condition type condition name引數表示異常的名稱 condition type引...

mysql 多異常 處理 MYSQL效能異常處理

通過information schema.processlist表中的連線資訊生成需要處理掉的mysql連線的語句臨時檔案,然後執行臨時檔案中生成的指令 mysql select concat kill id,from information schema.processlist where use...

spark on yarn 模式在hdp異常處理

其中乙個異常關鍵字 bad substitution 然後在stackoverflow發現相同提問,文中提到是因為沒有制定hdp版本,我才明白spark bin hadoop,編譯的是原生態的hadoop。英文應該都懂,我就不用翻譯了。正常情況遇見問題,不應該直接在網上找答案,診斷流程 從log或者...