news 2026/4/18 13:19:41

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/18 3:35:45

include文件包含及c底层调试

做题笔记&#xff1a; DeadsecCTF2025 baby-web ubuntu虚拟环境下安装中间件和php&#xff0c;这里我用的nginx和php8.3 在nginx的html目录下放两个php文件 update.php: <?php session_start(); error_reporting(0); ​ $allowed_extensions [zip, bz2, gz, xz, 7z];…

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

2026首发版,自学AI大模型的正确顺序:最新最全学习路线

本文提供大模型学习的七个阶段完整路线图&#xff1a;从数学编程基础、机器学习、深度学习到自然语言处理、大规模语言模型(如Transformer、BERT、GPT)及其应用&#xff0c;最后为持续学习进阶。每个阶段都配有推荐书籍、课程和论文资源&#xff0c;并提供学习资料包帮助零基础…

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

【计算机毕设推荐】:Hadoop+Django气象地质灾害大数据可视化系统 毕业设计 选题推荐 毕设选题 数据分析 机器学习

✍✍计算机毕设指导师** ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡有什么问题可以…

作者头像 李华
网站建设 2026/4/18 0:26:51

YOLOv11性能暴涨方案:Mamba-MLLA注意力机制实战集成,精度与速度双提升

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有! 文章目录 YOLOv11注意力机制革命:Mamba-MLLA注意力机制完全集成指南 技术突破与性能验证 Mamba-MLLA核心技术解析 状态空间模型与注意力机制融合 YOLOv11与MLLA深度…

作者头像 李华