Python 異常機制及日誌

2022-08-15 18:12:13 字數 3181 閱讀 9060

#異常機制

# try:

# a=int(input("請輸入:"))

# # print(b/a)#觸發未知錯誤

# print(1/a)

# except zerodivisionerror as e1:#取別名,方便列印,分母不能為0 division by zero

# print("分母不能為0",e1)

# except valueerror:#值異常

# print("你輸入的不是數字")

# except:

# print("未知錯誤")#除了上面的其他錯誤

# else:

# print("程式沒有錯誤")#程式正確執行會執行一次,如果程式錯誤,不會執行

# finally:

# print("程式執行完畢")#程式執行完畢會執行一次,不管程式錯誤還是正確

#日誌模組

import logging

# logging.debug("---------- debug")

# logging.info("***************info")

# logging.warning("**********===warning")#預設列印warning及以上的級別

# logging.error("**********==error")

# logging.critical("**********==critical")

# logging.basicconfig(level="debug")#列印debug及以上的級別

# logging.debug("---------- debug")

# logging.info("***************info")

# logging.warning("**********===warning")#預設列印warning及以上的級別

# logging.error("**********==error")

# logging.critical("**********==critical")

import time

# print(time.strftime("%y-%m-%d %h:%m:%s"))

# logging.basicconfig(level="debug",filename="./log.log")#把debug及以上的級別寫入到log檔案中

# logging.debug(time.strftime("%y-%m-%d %h:%m:%s")+"---------- debug")

# logging.info("***************info")

# logging.warning("**********===warning")#預設列印warning及以上的級別

# logging.error("**********==error")

# logging.critical("**********==critical")

logging.basicconfig(level="debug",filename="./log.log",filemode="a")

import traceback

# try:

# a=int(input("請輸入:"))

# # print(b/a)#觸發未知錯誤

# print(1/a)

# except zerodivisionerror as e1:#取別名,方便列印,分母不能為0 division by zero

# print("分母不能為0",e1)

# logging.debug(time.strftime("%y-%m-%d %h:%m:%s")+" "+"分母不能為0"+traceback.format_exc()+str(e1))

# except valueerror:#值異常

# print("你輸入的不是數字")

# logging.debug(time.strftime("%y-%m-%d %h:%m:%s")+" "+"你輸入的不是數字"+traceback.format_exc())

# except:

# print("未知錯誤")#除了上面的其他錯誤

# else:

# print("程式沒有錯誤")#程式正確執行會執行一次,如果程式錯誤,不會執行

# finally:

# print("程式執行完畢")#程式執行完畢會執行一次,不管程式錯誤還是正確

#主動丟擲異常,使用raise關鍵字丟擲需要的異常

# try:

# raise zerodivisionerror

# except:

# print("fen分母不能為0")

#所有異常的父類或者祖類都是exception

# (,)

# (,)

# (,)

# (,)

# (,)

# print(zerodivisionerror.__bases__)

# print(arithmeticerror.__bases__)

# print(valueerror.__bases__)

# print(exception.__bases__)

# print(baseexception.__bases__)

#異常的型別

zerodivisionerror,valueerror,ioerror,indexerror,filenotfounderror,nameerror

# list1=[1,3,5]

# print(list1[5])#indexerror: list index out of range

# with open("d:/abcde.txt") as f:#filenotfounderror: [errno 2] no such file or directory: 'd:/abcde.txt'

# f.read()

# print(g)#nameerror: name 'g' is not defined

#斷言assert 1==1#assertionerror,只對斷言錯誤進行報錯

assert isinstance(1,float)

Python中異常機制

語法錯誤 寫的時候發現問題 異常 執行的時候發生錯誤 示例 異常 def chu a,b sum a b return sumprint chu 1,0 zerodivisionerror division by zero 格式 try 可能出現異常的 except 如果有異常執行的 finally...

Python 異常和日誌

一 異常 1 異常 異常通常可以看做是程式的錯誤,代表程式是有缺陷的。異常型別 異常 描述 baseexception 所有異常的基類 systemexit 直譯器請求退出 exception 常規錯誤的基類 stopiteration 迭代器沒有更多的值 generatorexit 生成器 gen...

python日誌和異常

異常 try except異常型別,捕獲異常 處理異常 也可以巢狀 除了。except exception as xx 未知錯誤。如果之前的都沒有,就抓所有 else 沒有錯誤 可以寫入多個except 捕獲異常 except 異常型別 as xx 具體的異常資訊物件 執行了乙個異常後不會繼續執行下...