python中try..except语句如何使用?

try-except用于捕获异常防止程序崩溃;2. 可指定具体异常类型分别处理;3. 使用as获取异常信息便于调试;4. else在无异常时执行,finally始终执行,常用于资源释放。

在 Python 中,try...except 语句用于捕获和处理程序运行时可能出现的异常,防止程序因错误而崩溃。你把可能出错的代码放在 try 块中,把处理错误的逻辑放在 except 块中。

基本语法结构

最简单的形式如下:

try:
    # 可能出现异常的代码
    result = 10 / 0
except:
    # 出现异常后执行的代码
    print("发生了错误")

上面例子中除以零会触发 ZeroDivisionError,但由于被 try-except 捕获,程序不会崩溃,而是打印提示信息。

捕获特定类型的异常

建议明确指定要捕获的异常类型,避免掩盖其他问题:

try:
    num = int(input("请输入一个数字:"))
    result = 10 / num
except ValueError:
    print("输入的不是有效数字!")
except ZeroDivisionError:
    print("不能除以零!")

这样可以根据不同错误给出不同的提示,增强程序健壮性。

获取异常信息

使用 as 关键字可以获取异常对象,查看具体出错原因:

try:
    with open("不存在的文件.txt", "r") as f:
        content = f.read()
except FileNotFoundError as e:
    print(f"文件未找到:{e}")

输出会包含系统返回的具体错误信息,有助于调试。

else 和 finally 的使用

else 在没有异常时执行,finally 无论是否有异常都会执行:

try:
    x = int(input("输入一个数:"))
    y = 10 / x
except ValueError:
    print("格式错误")
except ZeroDivisionError:
    print("不能除以零")
else:
    print(f"结果是 {y}")
finally:
    print("程序结束")

finally 常用于释放资源,比如关闭文件或网络连接。

基本上就这些。合理使用 try-except 能让程序更稳定,但不要滥用,只处理你能应对的错误。