Day 27 异常处理
2026/5/11 10:27:22 网站建设 项目流程

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 块(可选):无论是否发生异常,最终都会执行,常用于释放资源(如关闭文件、数据库连接)。

@浙大疏锦行

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询