python 丟擲異常 Python之異常

2021-10-11 19:43:03 字數 2742 閱讀 1996

目標

01. 異常的概念

程式開發時,很難將所有的特殊情況都處理的面面俱到,通過異常捕獲可以針對突發事件做集中的處理,從而保證程式的穩定性和健壯性

02. 捕獲異常2.1 簡單的捕獲異常語法

try: 嘗試執行的**except: 出現錯誤的處理
簡單異常捕獲演練 —— 要求使用者輸入整數

try: # 提示使用者輸入乙個數字 num = int(input("請輸入數字:"))except: print("請輸入正確的數字")
2.2 錯誤型別捕獲

try: # 嘗試執行的** pas***cept 錯誤型別1: # 針對錯誤型別1,對應的**處理 pas***cept (錯誤型別2, 錯誤型別3): # 針對錯誤型別2 和 3,對應的**處理 pas***cept exception as result: print("未知錯誤 %s" % result)
異常型別捕獲演練 —— 要求使用者輸入整數需求提示使用者輸入乙個整數

使用 8 除以使用者輸入的整數並且輸出

try: num = int(input("請輸入整數:")) result = 8 / num print(result)except valueerror: print("請輸入正確的整數")except zerodivisionerror: print("除 0 錯誤")
捕獲未知錯誤語法如下:

except exception as result: print("未知錯誤 %s" % result)
2.3 異常捕獲完整語法

try: # 嘗試執行的** pas***cept 錯誤型別1: # 針對錯誤型別1,對應的**處理 pas***cept 錯誤型別2: # 針對錯誤型別2,對應的**處理 pas***cept (錯誤型別3, 錯誤型別4): # 針對錯誤型別3 和 4,對應的**處理 pas***cept exception as result: # 列印錯誤資訊 print(result)else: # 沒有異常才會執行的** passfinally: # 無論是否有異常,都會執行的** print("無論是否有異常,都會執行的**")
try: num = int(input("請輸入整數:")) result = 8 / num print(result)except valueerror: print("請輸入正確的整數")except zerodivisionerror: print("除 0 錯誤")except exception as result: print("未知錯誤 %s" % result)else: print("正常執行")finally: print("執行完成,但是不保證正確")
03. 異常的傳遞

提示

需求定義函式 demo1()提示使用者輸入乙個整數並且返回定義函式 demo2() 呼叫 demo1()

在主程式中呼叫 demo2()

def demo1(): return int(input("請輸入乙個整數:"))def demo2(): return demo1()try: print(demo2())except valueerror: print("請輸入正確的整數")except exception as result: print("未知錯誤 %s" % result)
04. 丟擲 raise 異常4.1 應用場景示例

注意

4.2 丟擲異常

建立乙個 exception 的物件使用 raise關鍵字丟擲異常物件

需求

def input_password(): # 1. 提示使用者輸入密碼 pwd = input("請輸入密碼:") # 2. 判斷密碼長度,如果長度 >= 8,返回使用者輸入的密碼 if len(pwd) >= 8: return pwd # 3. 密碼長度不夠,需要丟擲異常 # 1> 建立異常物件 - 使用異常的錯誤資訊字串作為引數 ex = exception("密碼長度不夠") # 2> 丟擲異常物件 raise extry: user_pwd = input_password() print(user_pwd)except exception as result: print("發現錯誤:%s" % result)

python 丟擲異常 python 異常

異常的概念 捕獲異常 異常的傳遞 丟擲異常 程式在執行時,如果 python 直譯器 遇到 到乙個錯誤,會停止程式的執行,並且提示一些錯誤資訊,這就是 異常 程式停止執行並且提示錯誤資訊 這個動作,我們通常稱之為 丟擲 raise 異常 程式開發時,很難將 所有的特殊情況 都處理的面面俱到,通過 異...

python丟擲異常

1 python 使用 raise 語句丟擲乙個指定的異常。raise nameerror hithere traceback most recent call last file line 1,in module raise nameerror hithere nameerror hithere ...

python 丟擲 python丟擲異常的方法

python丟擲異常的方法 閱讀 89 異常是python物件,表示乙個錯誤。當python指令碼發生異常時我們需要捕獲處理它,否則程式會終止執行。常見異常 attributeerror 呼叫不存在的方法引發的異常 eoferror 遇到檔案末尾引發的異常 importerror 匯入模組出錯引發的...