MST
星途 面试题库

面试题:Python异常信息获取与日志记录的结合

假设你正在开发一个应用程序,需要记录所有发生的异常信息到日志文件中。要求详细记录异常类型、异常信息、发生异常的代码位置(文件名和行号)。请编写Python代码实现这个功能,可使用logging模块。
48.1万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import logging
import sys

# 配置日志记录器
logging.basicConfig(
    level=logging.ERROR,
    format='%(asctime)s - %(levelname)s - %(filename)s - %(lineno)d - %(message)s',
    filename='exception.log'
)

def main():
    try:
        # 这里写可能引发异常的代码,示例如下
        result = 1 / 0
    except Exception as e:
        exc_type, exc_obj, exc_tb = sys.exc_info()
        fname = exc_tb.tb_frame.f_code.co_filename
        lineno = exc_tb.tb_lineno
        logging.error(f'异常类型: {exc_type.__name__}, 异常信息: {str(e)}, 发生位置: {fname}:{lineno}')

if __name__ == "__main__":
    main()