百科狗-知识改变命运!
--

python的异常

乐乐1年前 (2023-11-21)阅读数 15#技术干货
文章标签异常

python中的异常是指程序中的例外,违例,影响程序正常执行的情况。

异常机制是指程序出现错误后,程序的处理方法。

当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理。

如果程序执行过程中发生了异常,我们没有进行异常处理,那么程序就会中止执行下面的代码。但是如果我们进行了异常处理,程序会继续执行下面的代码。

异常的例子:

NameError:尝试访问一个未申明的变量

>>>foo

Traceback(innermostlast):File"",line1,in?

NameError:name'foo'isnotdefined

NameError表示我们访问了一个没有初始化的变量.在Python解释器的符号表没有找到那个另人讨厌的变量.我们将在后面的两章讨论名称空间,现在大家可以认为它们是连接名字和对象的"地址簿"就可以了.任何可访问的变量必须在名称空间里列出.访问变量需要由解释器进行搜索,如果请求的名字没有在任何名称空间里找到,那么将会生成一个NameError异常.

ZeroDivisionError:除数为零

>>>1/0

Traceback(innermostlast):File"",line1,in?

ZeroDivisionError:integerdivisionormodulobyzero

我们边的例子使用的是整数,但事实上,任何数值被零除都会导致一个ZeroDivisionError

异常.

SyntaxError:Python解释器语法错误

>>>for

File"",line1EditByVheavens

for

^

SyntaxError:invalidsyntax

SyntaxError异常是唯一不是在运行时发生的异常.它代表Python代码中有一个不正确的结构,在它改正之前程序无法执行.这些错误一般都是在编译时发生,Python解释器无法把你的脚本转化为Python字节代码.当然这也可能是你导入一个有缺陷的模块的时候.

IndexError:请求的索引超出序列范围

>>>aList=[]

>>>aList[0]

Traceback(innermostlast):File"",line1,in?

IndexError:listindexoutofrange

IndexError在你尝试使用一个超出范围的值索引序列时引发.

KeyError:请求一个不存在的字典关键字

>>>aDict={'host':'earth','port':80}

>>>printaDict['server']Traceback(innermostlast):

File"",line1,in?KeyError:server

映射对象,例如字典,是依靠关键字(keys)访问数据值的.如果使用错误的或是不存在的键请求字典就会引发一个KeyError异常.

IOError:输入/输出错误

>>>f=open("blah")Traceback(innermostlast):

python的异常

File"",line1,in?

IOError:[Errno2]Nosuchfileordirectory:'blah'

类似尝试打开一个不存在的磁盘文件一类的操作会引发一个操作系统输入/输出(I/O)错误.任何类型的I/O错误都会引发IOError异常.

AttributeError:尝试访问未知的对象属性

>>>classmyClass(object):

...pass

...

>>>myInst=myClass()

>>>myInst.bar='spam'

>>>myInst.bar

'spam'

>>>myInst.foo

Traceback(innermostlast):File"",line1,in?

AttributeError:foo

以上内容为大家介绍了python的异常,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。http://www.baikegou.com/

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)