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

Day 27 异常处理

Python 中的try-except机制是异常处理的核心,用于捕获和处理程序运行时的错误(如语法正确但执行失败的情况,例如除零、索引越界、文件不存在等),避免程序直接崩溃,同时允许开发者自定义错误处理逻辑。

1. 异常(Exception)

程序运行时发生的错误事件,例如:

  • ZeroDivisionError:除零错误
  • IndexError:索引越界
  • KeyError:字典键不存在
  • FileNotFoundError:文件未找到
  • TypeError:类型不匹配
  • ValueError:值无效

2.基本语法结构

try: # 可能引发异常的代码块(受保护的代码) risky_code() except [异常类型1] [as 变量名]: # 捕获到异常类型1时执行的处理逻辑 handle_error1() except [异常类型2] [as 变量名]: # 捕获到异常类型2时执行的处理逻辑 handle_error2() else: # 可选:try块无异常时执行 no_error_code() finally: # 可选:无论是否发生异常,最终都会执行(常用于资源释放) cleanup_code()

3. try 块

包裹可能触发异常的代码(如文件操作、网络请求、数值计算等)。只要该块内任意一行代码触发异常,后续代码会立即中断,跳转到对应的except块。

4.except 块

(1)基础用法:捕获指定异常
try: result = 10 / 0 # 触发 ZeroDivisionError except ZeroDivisionError: print("错误:除数不能为0")
(2)捕获多个异常
try: lst = [1, 2, 3] print(lst[5]) # 触发 IndexError # print(10 / "a") # 触发 TypeError except IndexError: print("错误:索引超出范围") except TypeError: print("错误:类型不匹配")

try: lst = [1, 2, 3] print(lst[5]) except (IndexError, TypeError): print("索引或类型错误")
(3)捕获所有异常
try: risky_code() except: # 捕获所有异常(包括 KeyboardInterrupt、SystemExit 等) print("发生了未知错误")

该机制中还有else 块(可选):仅当try块无异常时执行,常用于后续正常逻辑;以及finally 块(可选):无论是否发生异常,最终都会执行,常用于释放资源(如关闭文件、数据库连接)。

@浙大疏锦行

http://www.cnnetsun.cn/news/1815.html

相关文章:

  • 互联网大厂Java面试:严肃面试官与搞笑程序员的对决
  • 测试文章标题01
  • Gulp中的数据共享与异步任务管理
  • 在Android中实现圆角图像加载时的闪光效果
  • 确保文件上传成功的MySQL记录策略
  • 深入理解AndroidX中的ConstraintLayout
  • 用SQL解决产品状态问题
  • Prometheus配置热更新指南
  • 巧用通配符精准查找Word文档中的特定短语
  • Rust中的函数回调与解耦设计
  • Stripe API深度解析:从余额交易追溯到订阅项
  • Wan2.2-T2V-5B能否生成密码重置指引?自助服务优化
  • 9 个继续教育开题工具,AI 演讲稿写作推荐
  • 9 个自考任务书模板,AI 降重免费网站推荐
  • 10 个开题演讲稿 AI 工具,继续教育论文降重推荐
  • 10 个专科生任务书降重网站,AI 免费工具推荐
  • 中小企业内容生产救星:Wan2.2-T2V-5B+消费级GPU组合推荐
  • AI应用架构师实战:企业数据治理体系与大数据平台的整合
  • 提示工程架构师:客户服务Prompt设计的核心要点
  • 模型训练中的对抗样本生成在推理系统鲁棒性测试中的应用
  • Wan2.2-T2V-5B能否生成路线导航动画?空间导览优化
  • 价值不在你心里,而在你我之间——用“怎么做”重新定义AI时代的善与恶
  • Ai元人文构想:黑箱之渡,白箱之锚——大行为模型践行意义行为原生
  • Ai元人文构想:大行为模型2024—2025在技术与哲学中相遇
  • AI元人文构想:从“伦理规范”向“技术合标”的范式扩展
  • 对《AI元人文构想:从“伦理规范”向“技术合标”的范式扩展》的评价与展望(深化版)
  • 轻量不等于低质:Wan2.2-T2V-5B在运动推理上的突破
  • Wan2.2-T2V-5B能否生成维修进度通报?客户服务透明化
  • Wan2.2-T2V-5B能否生成活动报名确认?服务闭环完善
  • 8 个专科生论文降重工具,AI 查重率优化推荐