python 之 異常處理

2021-10-12 18:47:46 字數 3057 閱讀 6442

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

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("請輸入乙個整數:"))

defdemo2

():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)

python之異常處理 Python之異常處理

異常物件 請大家執行如下 a 100 0 print a 就會發現直譯器顯示如下的錯誤提示 traceback most recent call last file x.py line 1,in a 100 0 zerodivisionerror division by zero 大家要學會看直譯器...

Python之異常處理

在程式執行過程中影響程式正常執行的內容,稱為異常 nameerror print a indexerror 索引錯誤 li 1,2,3,4 print li 8 keyerror d dict a 1,b 2 print d f zerodivisionerror 除0錯誤 print 10 2 2...

Python之異常處理

try ret int input num 正常執行的 print ret except valueerror 捕捉錯誤 print 請輸入數字 try ret int input num 正常執行的 print ret except valueerror 捕捉錯誤 print 請輸入數字 exce...