前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中异常栈跟踪与异常利用

python中异常栈跟踪与异常利用

作者头像
刘金玉编程
发布2019-09-24 14:53:13
6240
发布2019-09-24 14:53:13
举报
文章被收录于专栏:编程创造城市

知识回顾:

异常类型结构:

try:

pass

except:

pass

else:

pass

finally:

pass

异常中,必须要有的try关键词,后接上except或者else


本节知识视频教程

以下开始文字讲解:

一、异常栈的跟踪

栈的特点:先进后出

异常的抛出,如果内部的异常没有被进行处理,那么会从最内部一个慢慢往外部传递异常。

如果内部的异常已经被捕获且处理,那么内部的异常就不会进行传递了。

二、异常利用

我们在使用字典的时候,往往可能会出现调用的字典的关键词并不存在的情况,那么直接就会报错了。我们以前会使用if语句进行处理,来判断每一个关键词在调用之前,是否存在的判断。

注意:python中大小写是敏感的,要注意调用的时候,大小写的正确性。

1.判断键是否存在

原有判断字典键值的方式,防止程序异常

#调用字典输出,直接使用if语句进行判断

if "aa" in dic1:

print(dic1["aa"])

else:

print("关键词不存在")

利用异常捕获,来简化代码。

try:

print(dic1["aa"])

print(dic1["BB"])

except KeyError:

print("关键词不存在,抛出异常")

2.判断类方法是否存在

类的异常利用,老的模式下的类的属性是否存在的判断

mc=MyClass()

if(hasattr(MyClass,"abc")):

mc.abc()

else:

print("属性不存在")

新式的类属性调用的判断

采用异常捕获的情况来进行

try:

mc.abc()

mc.defd()

except:

print("属性方法不存在")

三、总结强调

1.掌握异常栈的跟踪。

2.掌握异常的利用,来优化代码,排除未知异常。

3.掌握try捕获异常的基本形式。

4.所有异常捕获后,抛出的异常,都是异常对象。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档