答案:Python通过try-except捕获异常,支持单一、多种及全局异常处理,结合else和finally实现完整错误控制与资源清理。
在Python中,错误类型捕获主要通过 try-except 语句实现。它能让你在程序出错时进行处理,而不是让程序直接崩溃。下面介绍几种常见的错误捕获方法和最佳实践。
使用 try-except 捕获异常是最基础的方式:
try: result = 10 / 0 except ZeroDivisionError: print("不能除以零!")
这里只捕获 ZeroDivisionError,如果发生其他错误则不会被捕获。
一个 try 块可能引发多种异常,可以用多个 except 分别处理:
立即学习“Python免费学习笔记(深入)”;
try: value = int(input("输入一个数字:")) result = 10 / value except ValueError: print("输入的不是有效数字!") except ZeroDivisionError: print("不能除以零!")
每个 except 块处理一种特定异常,按顺序匹配。
如果你想捕获所有类型的异常,可以使用基类 Exception:
try: result = 10 / 0 except Exception as e: print(f"发生错误:{e}")
注意:虽然方便,但不建议随意使用 Exception 捕获所有错误,容易掩盖问题。
有时需要记录异常详情,包括堆栈信息:
import traceback try: 1 / 0 except Exception as e: print("错误信息:", e) print("完整追踪:") traceback.print_exc()
traceback 模块有助于调试,尤其是在日志系统中记录错误时非常有用。
else:当 try 中没有异常时执行。
finally:无论是否出错都会执行,常用于资源清理。
try: f = open("test.txt") content = f.read() except FileNotFoundError: print("文件未找到") else: print("文件读取成功") finally: if 'f' in locals(): f.close()
finally 是释放文件、网络连接等资源的理想位置。
基本上就这些。合理使用异常捕获能让程序更健壮,关键是根据具体错误类型做精准处理,避免“裸 except”。
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号