淘寶客做網站教程網站注冊信息查詢
異常處理
例一:
try:
? ? ? ? ? ? ? ? #可能出現(xiàn)異常代碼
except:
? ? ? ? ? ? ? ? #如果程序異常,則立刻進入這兒
[finally:
? ? ? ? ? ? ? ? #不管是否捕獲異常,finally語法快必須要執(zhí)行!!!
? ? ? ? ? ? ? ? #資源關閉,等各種非常重要的操作,必須放在finally中執(zhí)行
]?
例二:
try:
? ? ? ? ? ? ? ? #******
finally:
? ? ? ? ? ? ? ? #主要目的是為了利用finally的特性,將必須要執(zhí)行的代碼放在這里執(zhí)行
例三:
自定義異常處理類:
? ? ? ? ? ? ? ? 如果不夠我們使用時,我們可以自定義異常類
異常拋出:自己認為的拋出異常對象,就是希望調用者可以直接讓捕獲,從而傳遞錯誤信息
異常處理:
def division(x, y): #division除數(shù)res = 0try:res = x / ynum3 = int(input("請輸入一個整數(shù):"))print(num3 + x + y)except ZeroDivisionError as e:print(e)print("對不起,除數(shù)不能為0")except ValueError as e:print(e)num3 = int(input("請輸入整數(shù)"))print(num3 + x + y)except Exception as e:print("其他異常")finally:print("finally語法塊里的,必須要執(zhí)行")return resif __name__ == '__main__':num1 = int(input("請輸入被除數(shù)"))num2 = int(input("請輸入除數(shù)"))result = division(num1, num2)print(result)print("程序計算結束,繼續(xù)向下運行")
請輸入被除數(shù)8
請輸入除數(shù)4
請輸入一個整數(shù):5
17
finally語法塊里的,必須要執(zhí)行
2.0
程序計算結束,繼續(xù)向下運行Process finished with exit code 0
異常拋出:?
class MyException(Exception):def __init__(self, msg):Exception.__init__(self,msg)def login(username, password):if username != "admin":raise MyException("用戶名不存在")if password != "123456":raise MyException("用戶密碼錯誤")if __name__ == '__main__':try:login("admin", "1234")except MyException as e:print(e)
用戶密碼錯誤Process finished with exit code 0
?