程式開發時,很難將所有的特殊情況都處理的面面俱到,通過異常捕獲可以針對突發事件做集中的處理,從而保證程式的穩定性和健壯性
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 字典中不存在的鍵訪問...