当前位置: 首页 > article >正文

异常与日志简易版本

在python中我们可以去捕获我们的异常信息,异常信息,我们尽量做到见异常知意,尽量将异常分类

# 运行一段代码时,如果遇到问题无法执行,程序就会报错
# 使用try except 进行处理,try被检测的语句,except是异常处理的语句
try:
    num = int(input("请输入一个数:"))
    print(1/num)
except ZeroDivisionError as e:
    print("除数不能为0")
    print(e)
except ValueError:
    print("请输入整数")
except:
    print("程序有异常")
else:  # 程序未出现异常,就执行else语句
    print("程序未出现异常")
finally:
    print("程序执行完毕")

当然,我们也可以主动抛出异常

try:
    age = int(input("请输入你的年龄:"))
    if age < 18:
        raise NameError("年龄不能小于18")
except NameError as e:
    print(e)

接下来,我们举一个超级简单的写日志的代码

from loguru import logger

logger.remove(handler_id=None) # 不打到控制台

logger.add('./log/log1.log', rotation='200kb', compression='zip', encoding='utf-8')
for i in range(1000):
    logger.debug('test')
# 将日志写到log目录下,超过200kb就进行压缩,编码格式使用utf-8

接下来,我们去运行,我们就可以发现,左侧会产生一个log的目录
在这里插入图片描述
其中,带有zip格式的压缩文件,是大小超过200KB被压缩之后的文件,且最后一个文件应该是没有超过对应大小,并没有被压缩,这便是一个最简单的一个日志捕获的过程


http://www.kler.cn/a/578771.html

相关文章:

  • OpenCV 作为第三方库编译并在 C++ 项目中使用
  • 关于sqlalchemy的使用
  • 【备赛】stm32如何实现定时器延时/解决定时器中断刚开启就进中断的问题
  • 10. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Ocelot 网关--认证
  • uniApp实战二:仿今日相机水印功能
  • 猫耳大型活动提效——组件低代码化
  • 服务器数据恢复—raid5阵列中硬盘出现坏道的数据恢复流程
  • Spring Boot启动流程及源码实现深度解析
  • 前端非技术性场景面试题
  • 长上下文 GRPO
  • 基于PyTorch的深度学习5——神经网络工具箱
  • 百货店的诞生与现代商业革命:结合开源AI智能客服、AI智能名片与S2B2C商城小程序的新视角
  • 通过HTML有序列表(ol/li)实现自动递增编号的完整解决方案
  • SpringBatch之ResultSet.next()
  • 基于Canvas和和原生JS实现俄罗斯方块小游戏
  • 【贪心算法】简介
  • el-input-number添加自定义内容class-unit
  • 【算法题】小鱼的航程
  • AWS中使用CloudFront分发位于S3中的静态网站
  • SV学习笔记——数组、队列