news 2026/4/22 4:00:03

Python中的异常处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python中的异常处理

异常

""" 异常(Exception): 1.什么是异常? python运行时,发生的错误,而导致程序最终无法执行,异常! 思考:有没有出现错误? 编译过程中的错误,红色波浪线 运行过程中的错误,编译通过,但是运行之后报错 补充: 特性:运行时发生红色的错误,终止程序 异常的父类:BaseException 2.如何处理异常? try: 可能会出现问题的代码 except [抓取异常的类型 as e]: 处理的结果 """

示例

#异常示例#1 分母不能为0print("运行前")try:res=10/0#ZeroDivisionErrorprint(res)exceptZeroDivisionErrorase:print(e)print("运行后")#运行结果运行前 division by zero 运行后#2 文件不存在try:withopen("../exception/a.txt","r",encoding="utf-8")asf:print(f.read())exceptFileNotFoundErrorase:print(e)print("读取后")#运行结果[Errno2]No suchfileordirectory:'../exception/a.txt'读取后#3 转换异常str1="zhangsan"try:res=int(str1)exceptValueErrorase:print(e)print("转换后")#运行结果invalid literalforint()withbase10:'zhangsan'转换后

处理异常

""" 处理异常 1.异常的复杂格式 try: 可能会出现问题的代码 except [抓取异常类型 as 别名]: 处理代码 [else: 没有发生异常处理的代码 finally: 作用:一般用来关闭文件或者释放资源的 异常的处理出口 ] 2.合并处理异常 -了解 try: 异常代码 except (异常1,异常2,异常3......异常n) as e: 3.处理多级异常 注意: except可以写多个,分别抓取不同的异常信息 一般情况下,异常处理的对象(范围越小,异常信息更准确)越小越好 父异常一般写在子异常之后 """

异常的复杂格式

#1 案例:处理文件异常f=Nonetry:f=open('test.txt',"r",encoding="utf-8")res=f.read()print(res)exceptExceptionase:print("文件找不到")else:print("当前正常")finally:print("程序正在执行finally块")iffisnotNone:#在写finally时需要加判断f.close()

合并处理异常

#2 合并异常格式try:res=10/0#division by zerores2=int("lisi")#ValueErrorexcept(ZeroDivisionError,ValueError)ase:print(e)

多个异常处理

#3 多个异常处理#案例:读取文件内容,转换为int,再除以0try:f=open('test.txt',"r",encoding="utf-8")res=int(f.read())res=res/0print(res)exceptFileNotFoundErrorase:print(e)exceptValueErrorase:print(e)exceptZeroDivisionErrorase:print(e)exceptExceptionase:print(f"不可预估的错误{e}")

案例——自定义异常

""" 异常实现登录案例 !!!自行抛出异常时,需要使用raise """
#自定义异常classMyException(Exception):msg=""def__init__(self,msg):self.msg=msg#模拟数据库的用户数据username_mysql="zhangsan"password_mysql="123"deflogin(username,password):#1 用户名是否存在ifusername_mysql!=username:#抛出一个自定义异常raiseMyException("用户不存在")#2.密码是否准确ifusername==username_mysqlandpassword!=password_mysql:raiseMyException("密码错误")#3 是否登录成功returnTrueif__name__=='__main__':username=input("username: ")password=input("password: ")try:login(username,password)exceptExceptionase:print(e)else:print("ok")

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 23:51:54

8B小模型后训练实战:企业私域语义空间稳定性与通用能力平衡指南

本文探讨8B小模型通过后训练在企业私域语义空间中的应用价值。实验表明,经过SFTDPO训练的模型能在不依赖system prompt/RAG的情况下稳定进入私域语义空间,同时保持通用知识与CoT能力。文章分享了三条实践经验:警惕"脑损伤"SFT、训练…

作者头像 李华
网站建设 2026/4/21 9:16:21

AI智能宠物管家系统:基于YOLOv5的宠物识别与行为分析解决方案

文章目录 毕设帮扶:从0到1搭建基于YOLOv5的宠物检测系统——助你搞定深度学习毕设 一、课题价值:宠物检测毕设为啥值得做? 二、核心技术:YOLOv5在宠物检测中的“硬实力” 三、任务拆解:你的系统要解决哪些宠物检测问题? (一)核心任务 (二)场景挑战与应对 四、数据集:…

作者头像 李华
网站建设 2026/4/22 1:32:18

Bug侦破大会:破解技术悬案的终极策略

技术悬案:Bug侦破大会的挑战与策略主题引入 从软件开发的日常中选取典型Bug案例,以悬疑叙事方式吸引读者,强调复杂Bug对项目的潜在影响。案例背景设定选择具有代表性的技术场景(如分布式系统、内存泄漏、并发问题)&…

作者头像 李华
网站建设 2026/4/22 1:30:39

LLM基因定制饮食健康效果翻倍

📝 博客主页:Jax的CSDN主页 基因导向的智能饮食规划:健康效果倍增的科学路径目录基因导向的智能饮食规划:健康效果倍增的科学路径 目录 引言:基因定制饮食的瓶颈与破局点 技术应用场景:从预防到健康管理的全…

作者头像 李华
网站建设 2026/4/22 1:31:05

亲测好用8个AI论文网站,专科生搞定毕业论文格式规范!

亲测好用8个AI论文网站,专科生搞定毕业论文格式规范! AI 工具如何让论文写作变得轻松高效 对于许多专科生来说,毕业论文的撰写不仅是学术能力的考验,更是一场对耐心与技巧的挑战。尤其是在格式规范、内容逻辑和语言表达等方面&…

作者头像 李华
网站建设 2026/4/22 3:12:18

YOLO26创新改进 | 全网独家,注意力创新改进篇 | AAAI 2025 | 引入DTAB和GCSA创新点,通过重新设计通道和空间自注意力机制,助力YOLO26有效涨点

一、本文介绍 本文给大家介绍使用DTAB和GCSA创新点改进YOLO26模型!TBSN通过重新设计通道自注意力(分组通道注意力 G-CSA)来防止多尺度架构中的盲点信息泄露,并利用带掩膜的窗口自注意力 (M-WSA) 模仿扩张卷积以保持盲点特性,助力YOLO26有效涨点。 🔥欢迎订阅我的专栏、…

作者头像 李华