try-except语句的应用(超详细的学习笔记)

本文详述了Python中的异常处理,重点介绍了try-except语句的使用,包括基本语法和高级用法,如异常类型指定、else子句和finally子句的应用,帮助读者深入理解异常处理机制。

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

一、前言

看下面小程序:

num=eval(input("请输入一个数:"))
print(num**2)

结果:

请输入一个数:2
4

如果我们输入的不是数会发生什么
结果:

请输入一个数:no
Traceback (most recent call last):
  File "C:\Users\我的电脑\AppData\Local\Programs\Python\Python35-32\样本.py", line 1, in <module>
    num=eval(input("请输入一个数:"))
  File "<string>", line 1, in <module>
NameError: name 'no' is not defined

可以看到,Python解释器返回了异常信息,同时推出了程序。

二、异常处理

Python使用try-except语句来实现异常处理,其基本语法格式如下:

try:
    <语句块1>
except <异常类型>:
    <语句块2>

代码如下:

try:
    num=eval(input("请输入一个数:"))
    print(num**2)
except NameError:
    print("输入错误,请重新输入一个数")

结果:

请输入一个数:no
输入错误,请重新输入一个数

三、try-except的高级用法

(1)高级用法1

语法格式如下:

try:
    <语句块1>
except <异常类型1>:
    <语句块2>    
...
except <异常类型N>:
    <语句块N+1>
except:
    <语句块N+2>

其中,第一到第N个except语句后面都指定了异常类型,说明这些except所包含的语句块只处理这些类型的异常。最后一个except语句没有指定任何类型,表示它对应的语句块可以处理所有其他异常。
代码如下:

try:
    list=["a","b","c","d","e","f"]
    num=eval(input("请输入一个整数作为索引:"))
    print(list[num])
except NameError:
    print("输入错误,请重新输入一个整数")
except:
    print("其他错误")

结果:

请输入一个整数作为索引:2
c

请输入一个整数作为索引:no
输入错误,请重新输入一个整数

请输入一个整数作为索引:2.3
其他错误

(2)高级用法2

语法格式:

try:
    <语句块1>
except<异常类型1>:
    <语句块2>
else:
    <语句块3>
finally:
    <语句块4>

解释
1、此处的else语句与for循环和while循环中else一样,当try中的语句块1正常执行结束且没有发生异常时,else中的语句块3执行。

2、finall语句块则不一样,无论try中的语句块1是否发生异常,语句块4都会执行,因此将程序执行语句块1的一些收尾工作放在这里,例如:关闭、打开文件等。

补充:

我总结我所有python笔记于一篇博客里:
点击即可进入Python学习笔记大总结(我把我所有python笔记做了总结和学习顺序,点击即可进入相关博客。希望可以便于你们阅读)

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃辣的IT男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值