千家信息网

python异常的概述和利用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"python异常的概述和利用",在日常操作中,相信很多人在python异常的概述和利用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python异常的
千家信息网最后更新 2026年11月03日python异常的概述和利用

这篇文章主要介绍"python异常的概述和利用",在日常操作中,相信很多人在python异常的概述和利用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python异常的概述和利用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、知识回顾:

上一节,我们讲了生成器,我们先来回顾一下生成器的使用。
生成器:yield使得函数冻结且提交一个值。
每次使用生成器,我们以前都使用了for循环,实际上使用的是next函数来进行下一次迭代。
总结得出,我们使用的生成器依赖于一个函数。
所谓递归生成器,实则是在生成器中,再次调用生成器。
上一次我们没有实测next函数调用的问题,以下进行补充。

补充next函数:

作用:主要是用来返回下一次迭代器的返回值。
使用方法:next(迭代器,[默认值])
如果直接使用两次调用自定义迭代器函数的方式,将返回的是每一次迭代器的初始位置的值,也就是说,指针总是指向的是初始的位置。
我们应该把自定义的迭代器赋值给一个变量,然后再使用next函数对这个变量进行下一次迭代。
举例:

#使用变量来表示一个实际的生成器对象

scq=shengChengqi()

print(next(scq))

print(next(scq))


二、异常概述

提问:什么是异常?

不是普通的正常的代码执行情况。实际上是属于系统内代码有问题导致的报错。异常,我们往往使用Exception来表示。

三、异常的分类

我们这里讨论的异常主要分为两大类。

一类是自动自动抛出的异常,系统编译器自动判断来抛出异常。

举例:

laoliuAge=31/0

抛出异常ZeroDivisionError: division by zero

一类是人工手动抛出的异常,使用raise来手动抛出。

手动抛出异常使用:raise Exception,这里的Exception是一个异常类,类的话我就可以使用构造方法进行初始值的传入。也就是说传入的是异常的描述。我们可以使用raise Exception("这里是我们的自定义异常")

提问:实际中我们如何使用手动来抛出异常?

我们往往需要结合一些条件判断来手工抛出异常。

举例如下:

a=1

if a==1:

raise Exception("这里是老刘抛出的异常")

else:

print("沒有異常")

三、异常的利用

举例:

1.判断是否是int类型的数据

2.判断是否是string类型的数据

归纳一下:

1.我们可以利用异常来做一些数据类型的转换。

2.我们可以利用异常来进行数据类型的判断。

四、重要的内建类异常

  • Exception所有异常的基类

  • AttributeError属性引用或属性失败时抛出的异常

  • OSError当操作系统无法执行任务时抛出的异常

  • IndexError在使用序列中不存在的索引时抛出的异常

  • KeyError在使用映射中不存在的键值时抛出的异常

  • NameError找不到名字(变量)时抛出的异常

  • SyntaxError在代码为错误形式时触发

  • TypeError在内建操作或函数应用于错误类型的对象时抛出的异常

  • ValueError在内建操作或者函数应用于正确类型的对象,但该对象使用了不适合的值时抛出的异常

  • ZeroDivisionError在除法或者取模操作的第2个参数值为0时抛出的异常

五、总结强调

1.理解什么是异常?

2.理解异常的分类

3.掌握手动抛出异常的方法

4.学会利用异常,把异常的抛出为己所用

本节源代码:

# def shengChengqi():#     list1=[3,5,2]#     for i in list1:#         yield i## #使用变量来表示一个实际的生成器对象# scq=shengChengqi()# print(next(scq))# print(next(scq))# print(next(scq))# print(next(scq))
# laoliuAge=31/0# a=1# if a==1:# raise Exception("这里是老刘抛出的异常")# else:# print("沒有異常")

b="2"c=int(b)+2# try:# c=b+2# print(c)# except:# print("程序有點小问题,请联系管理员")

到此,关于"python异常的概述和利用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

生成器 生成 函数 迭代 类型 变量 实际 对象 手动 数据 方法 问题 学习 代码 系统 也就是 也就是说 位置 实际上 属性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技海报 华服互联网科技靠谱吗 上海卓越科技互联网 互联网科技保险 互联网科技有限公司图片 互联网 科技创业 齐家互联网科技 浩特互联网科技 上海喔噻互联网科技 撒么互联网科技公司 欧洲十大科技互联网公司 成都互联网科技公司100强 南山科技园互联网公司有哪些 互联网科技扶贫时间 高科技互联网发展前景如何 四川慕妮娅互联网科技有限公司 互联网企业科技类企业如何做账 中国新注册互联网科技 互联网金融运营模式中的金融科技 长沙易易互联网科技有限公司 重庆互联网络科技 北京互联网科技有限公司 四川狮子座互联网科技 上海电发互联网科技有限公司 中国互联网十大科技股排名 互联网在线教育科技创业 佛山市拉法互联网科技有限公司 富国互联网金融科技混合基金 郑州欣桑互联网科技有限公司 互联网科技机房
0