python 物件導向 11 異常

2022-03-01 10:18:35 字數 2926 閱讀 5782

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

try:

嘗試執行的**

except:

出現錯誤的處理

簡單異常捕獲演練 —— 要求使用者輸入整數
try:

# 提示使用者輸入乙個數字

num = int(input("請輸入數字:"))

except:

print("請輸入正確的數字")

try:

# 嘗試執行的**

pass

except 錯誤型別1:

# 針對錯誤型別1,對應的**處理

pass

except (錯誤型別2, 錯誤型別3):

# 針對錯誤型別2 和 3,對應的**處理

pass

except 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)

try:

# 嘗試執行的**

pass

except 錯誤型別1:

# 針對錯誤型別1,對應的**處理

pass

except 錯誤型別2:

# 針對錯誤型別2,對應的**處理

pass

except (錯誤型別3, 錯誤型別4):

# 針對錯誤型別3 和 4,對應的**處理

pass

except exception as result:

# 列印錯誤資訊

print(result)

else:

# 沒有異常才會執行的**

pass

finally:

# 無論是否有異常,都會執行的**

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("執行完成,但是不保證正確")

提示

需求定義函式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)

示例

注意

需求

def input_password():

# 1. 提示使用者輸入密碼

pwd = input("請輸入密碼:")

# 2. 判斷密碼長度,如果長度 >= 8,返回使用者輸入的密碼

if len(pwd) >= 8:

return pwd

# 3. 密碼長度不夠,需要丟擲異常

# 1> 建立異常物件 - 使用異常的錯誤資訊字串作為引數

ex = exception("密碼長度不夠")

# 2> 丟擲異常物件

raise ex

try:

user_pwd = input_password()

print(user_pwd)

except exception as result:

print("發現錯誤:%s" % result)

物件導向 異常

異常 exception 1.定義 就是導致程式終止的一種指令流,異常會使程式終止執行 2.throw和throws a throw用於丟擲一場物件 b throws用於標識函式暴露出的異常 區別 a throw用在函式上,後面跟異常類名 b throws用在函式內,後面跟異常物件 3.異常細節 a...

物件導向1 1

要呼叫什麼類裡的方法,就要建立什麼類的物件,再通過物件去呼叫。public class test 建立當前類的物件 test test newtest test.arrays std system.out.println test.statestd std,3 system.out.println ...

Python基礎 異常和物件導向

期末筆記後期整理,如有問題,請多多指教。1 所有異常類都是exception的子類 2 常見的異常 nameerror 訪問未宣告的變數 zerodivisionerror 除數為0 syntaxerror 編譯時發生 indexerror 序列中不存在的索引 keyerror 字典中不存在的鍵訪問...