2026-06-25 06:05:18
try-except是Python中用于捕获和处理异常的代码结构,其核心功能是通过分离正常逻辑和异常处理逻辑,提高程序的健壮性。 以下是详细说明:
一、基本语法与执行流程捕获特定异常通过明确指定异常类型(如ValueError、TypeError),可精准处理已知错误场景。
try: num = int("abc") # 触发ValueErrorexcept ValueError: print("输入内容无法转换为整数!")捕获多个异常
方式1:使用多个except块分别处理不同异常。
try: # 可能触发TypeError或ValueError的代码 passexcept TypeError: print("类型错误!")except ValueError: print("值错误!")方式2:在单个except后用元组指定多种异常类型。
try: # 可能触发TypeError或ValueError的代码 passexcept (TypeError, ValueError) as e: print(f"发生错误:{e}")捕获所有异常(不推荐)省略异常类型或使用Exception基类会捕获所有异常,但可能掩盖潜在问题,建议仅在调试时使用。
try: # 任意代码 passexcept: print("发生未知错误!") # 风险:可能隐藏关键错误信息更安全的替代方案:
try: # 任意代码 passexcept Exception as e: # 捕获所有非系统退出异常 print(f"错误详情:{e}")获取异常对象通过as关键字将异常对象赋值给变量,可访问错误信息(如e.args)或调用异常方法。
try: open("不存在的文件.txt")except FileNotFoundError as e: print(f"文件未找到:{e.filename}")else块当try块未发生异常时执行,常用于放置依赖try块成功执行的代码。
try: data = load_data()except FileNotFoundError: print("数据文件缺失")else: process_data(data) # 仅在无异常时执行finally块无论是否发生异常都会执行,常用于释放资源(如关闭文件、数据库连接)。
file = Nonetry: file = open("data.txt", "r") content = file.read()except IOError: print("文件读取失败")finally: if file: file.close() # 确保文件被关闭通过合理使用try-except结构,可显著提升程序的容错能力和用户体验。