例外處理
例外處理是指在語法正確的前提下,程式運行時報錯
例外的出現會導致程式直接崩潰退出,不再繼續向下執行
例外處理是為了讓代碼具有一定的容錯性:允許用戶操作時出現的錯誤
捕獲單個例外
格式:
try:
代碼
except 例外型別1:
處理代碼
exctpt 例外型別2:
處理代碼
第二種格式:
try:
代碼
except(例外1,例外2) as 別名:
處理代碼
捕獲所有例外
格式:
try:
代碼
except:
例外處理
except后面不寫例外型別,表示可以捕獲所有例外資訊
try:
代碼
except Exception:
例外處理
Exception是所有例外的父例外,try拋出的例外,Exception都能捕獲
else格式
try:
代碼
except 例外型別 as 變數名:
print(變數名) 呼叫的是該例外類中的__str__方法
else:
代碼
else中的代碼是try中的代碼完整執行,沒有拋出例外時執行
若try中的代碼拋出了例外,則else中的代碼不會執行
try…finally格式
try:
代碼
except 例外型別 as 變數名:
例外處理
finally:
代碼
finally中的代碼是不管try中的代碼拋不拋出例外,始侄訓去執行
總結
單個例外:非常常用,一般在函式/類的方法中,執行,某個具體功能時使用,滿足單一職責的情況下,函式或者類方法中出現的例外一般都是單個例外
多個例外:較為常用,一幫在流程函式中,可能出現多個例外,需要針對具體的例外進行獨立處理,反饋給用戶一個具體的提示資訊
處理所有例外:常規專案使用較多,偷懶做法,如果對代碼規范要求比較高的專案中使用不多
觸發例外
在實際業務中我們可以根據實際情況來手動拋出例外
格式:
raise Exception("例外提示資訊")
當程式執行到raise時會自動的觸發例外,讓程式結束
我們也可以根據系統提供的Exception類自定義自己的例外類
例:
class name(Exception):
def __init__(self):
pass
def __str__(self):
return “例外提示資訊”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/26570.html
標籤:其他
