98. Python基础教程:try...except...finally语句

本文介绍了Python中的异常处理语句try...except...finally,包括语法、执行顺序、捕获特定类型和所有类型的异常,并通过实例演示了如何使用。此外,还提供了一个实操练习,涉及打开并输出txt文件内容时可能出现的异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【目录】


【正文】

在今天的课程中,我们将学习Python中的异常处理语句try...except...finally

try...except...finally是Python中的一个异常处理语句。

try...except...finally语句的作用是捕获和处理程序中的异常。

1. try…except…finally语法介绍

try[traɪ]:尝试。

except[ɪkˈsept]:把…排除在外。

finally [ˈfaɪnəli]:最后。

【基本语法】

try:
    # 可能会引发异常的代码块
except ExceptionType1:
    # 异常类型1的处理代码块
except ExceptionType2:
    # 异常类型2的处理代码块
...
finally:
    # 无论是否发生异常,都会执行的代码块

2. try…except…finally执行顺序

  • try代码块中,我们放置可能会引发异常的代码。

  • 如果try代码块中的代码引发了异常,那么程序会跳转到对应的except代码块进行处理。

  • 如果try代码块中代码没有引发异常,那么程序执行try代码块中的代码,except代码块将会被忽略。

  • except代码块可以有多个,每个except代码块用于处理不同类型的异常。

  • 我们可以根据具体的需求,选择捕获和处理特定类型的异常。

  • 无论是否发生异常,finally代码块中的代码最终都会被执行。

  • finally代码块通常用于关闭文件、释放数据库连接或进行一些清理操作。

  • 它的作用是避免资源泄露和内存溢出等问题,从而提高程序的健壮性。

下面,我们通过一些案例来讲解try...except...finally语句的应用。

3. 捕获特定类型的异常

【代码示例:98-1】

try:
    # 可能会出现异常的代码
    x = int(input("请输入第1个整数: "))
    y = int(input("请输入第2个整数: "))
    result = x / y
    print("结果是:", result,'\n')
except ValueError as e:
    # 处理值错误异常
    print("输入的不是整数,请重新输入。", e,'\n')
except ZeroDivisionError as e:
    # 处理除零异常
    print("除数不能为零,请重新输入。", e,'\n')
except Exception as e:
    # 处理其他异常
    print("发生了一个异常:", e,'\n')
finally:
    # 无论是否发生异常,都会执行的代码
    print("程序结束。",'\n')

在上面的代码中,我们尝试将用户输入的两个整数相除,并打印结果。

如果用户输入的不是整数,会捕获到值错误异常,并输出提示信息。

如果用户输入的除数为零,会捕获到除零异常,并输出相应的提示信息。

如果发生其他类型的异常,会捕获到通用的异常,并输出异常信息。

注意无论是否发生异常,最后都会执行finally块中的代码,输出程序结束的提示信息。

【终端输出】

在这里插入图片描述

【温馨提示】

'\n'是一个转义字符,表示换行符。它的作用是在输出中增加一个空行。

我是为了写笔记时框选内容方便而加的换行符,大家可以省略换行符。

【错误代码示例:98-2】

为了输出结果更加清晰易读,我想给input语句也增加一个换行功能。

我想在下面每个输入语句代码后面增加了一个'\n':

x = int(input("请输入第1个整数: "))
y = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值