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