python 日誌 異常處理

2022-06-06 22:42:12 字數 1992 閱讀 5446

import pymysql

import nnlog

import traceback

示例一:

l = [ 1,2,3]

d = {}

try:

# print(l[4])

print(d['name'])

except exception as e:

print("出異常了",e)

else:

print("不出異常的時候走到這裡")

finally:

print("什麼時候走這裡呢")

except indexerror as e:

print("下標不存在")

print(e)

except keyerror as e:

print("key不存在")

print(e)

示例二:

import pymysql

import nnlog

import traceback

log = nnlog.logger('python.log',level='debug',backcount=5,when='d')##預設是debug級別最低的,預設保留5天的backcount when=『d『,# d h m s d=天,h=小時,m=分鐘s=秒

#file_name是日誌檔名,可以是不存在的檔案,會主動幫助建立#level是日誌級別,如果不傳的話預設是debug級別#when是日誌檔案多久生成乙個,預設是按天,s 秒、m 分、 h 小時、 d 天、 w 每星期#backcount是備份幾個日誌檔案,預設保留5天的#interval是間隔多久生成乙個日誌檔案,預設是1天

#log.debug('預設日誌級別是debug')

#log.info('info級別')

#log.warning('waring級別')

#log.error('error級別')

#log2 = nnlog.logger(file_name='nn.log') #直接傳入檔名也是ok的,其他的就取預設值了

#log2.debug('test')

mysql_info =

def op_db(sql,one_tag=true):

try:

log.debug("開始連線資料庫,資料庫連線資訊是%s"%mysql_info)

connect = pymysql.connect(**mysql_info)

except exception as e:

log.debug("連線資料失敗")

log.error("連線資料失敗,請檢查")

log.error(traceback.format_exc())

# traceback.format_exc()拿到出錯的那一大坨字串

#traceback.print_exc()#只print錯誤資訊

return "001"

else:

log.debug("開始建立游標")

cur = connect.cursor(pymysql.cursors.dictcursor)

try:

log.debug("開始執行sql")

log.info("sql語句是%s"%sql)

cur.execute(sql)

except exception as e:

log.warning("sql錯誤!")

return "002"

else:

if one_tag:

result = cur.fetchone()

else:

result = cur.fetchall()

finally:

cur.close()

connect.close()

return result

c 日誌異常類

開發完一套系統,剩下的工序自然就是測試 debug,怎麼把這兩道麻煩的工序變得輕鬆自然,最好的方法當然是每次出現異常的時候都能把異常發生的部位捕捉下來,並描述出錯誤異常的情況。c 有一套非常強大的異常捕捉的方法,利用try.catch.我們可以捕捉到系統異常的資訊,有經驗的程式設計師據此資訊很容易就...

c 日誌異常類

using system using system.xml using system.data.sqlclient using system.collections using system.data using system.web using system.io using system.web...

MVC自定義錯誤日誌異常處理

mvc新增錯誤日誌處理模組很簡單,只要寫個繼承自handleerrorattribute的過濾器,重新onexception方法,貼個異常處理 如下 public class exceptionattribute handleerrorattribute 的 action 時產生異常 excepti...