Py学习  »  Python

Python从零开始系列连载(23)——Python异常处理

Python爱好者社区 • 6 年前 • 489 次点击  

作者:王大伟

Python爱好者社区唯一小编

博客:https://ask.hellobi.com/blog/wangdawei


前言

前文传送门:

Python从零开始系列连载(1)——安装环境

Python从零开始系列连载(2)——jupyter的常用操作

Python从零开始系列连载(3)——Python的基本数据类型(上)

Python从零开始系列连载(4)——Python的基本数据类型(下)

Python从零开始系列连载(5)——Python的基本运算和表达式(上)

Python从零开始系列连载(6)——Python的基本运算和表达式(下)

Python从零开始系列连载(7)——Python程序的基本控制流程(上)

Python从零开始系列连载(8)——Python程序的基本控制流程(下)

Python从零开始系列连载(9)——Python特色数据类型(列表)(上)

Python从零开始系列连载(10)——Python特色数据类型(列表)(下)

Python从零开始系列连载(11)——Python特色数据类型(元组)(上)

Python从零开始系列连载(12)——Python特色数据类型(元组)(下)

Python从零开始系列连载(13)——Python特色数据类型(字典)(上)

Python从零开始系列连载(14)——Python特色数据类型(字典)(下)

Python从零开始系列连载(15)——Python特色数据类型(集合)(上)

Python从零开始系列连载(16)——Python特色数据类型(集合)(下)

Python从零开始系列连载(17)——Python特色数据类型(函数)(上)

Python从零开始系列连载(18)——Python特色数据类型(函数)(中)

Python从零开始系列连载(19)——Python特色数据类型(函数)(下)

Python从零开始系列连载(20)——Python文件操作(上)

Python从零开始系列连载(21)——Python文件操作(中)

Python从零开始系列连载(22)——Python文件操作(下)


我们学习上之路一路走来。。。啊,不对,我们一直在这个教室上课


遇到了很多运行后报错


报错了,也就是发生了异常情况!


有时候我们想让系统提供更具体的异常信息,帮助我们解决问题

有时候我们想忽略本次异常,让程序继续执行下去


那我们该怎么办呢?


怎么办爱情甜又酸

思绪收回【咻的一下】


在Python中,我们将可能出现异常的代码放在 ' 隔离区 ' 里运行


这样的话,出了问题不会影响其他部分



try...except...


那怎么创建一个隔离区呢?


在Python中使用try...except 结构创建 ' 隔离区 ',也就是进行异常处理


try 包含的部分是放入可能出现异常的代码


except 部分是来处理发生的异常


结构是:


try:

可能引起异常的代码

except:

         对异常的处理代码




以上是正常情况,try的代码部分没问题,所以相对的except的代码部分不会执行


如果我们除数输入的是0:




则首先,系统没有报错,因为try中出错,则执行except中的内容,即打印‘出问题啦!’


当然,except会捕获try中所有可能出错的情况


但是except异常也分为很多种,比如值异常,命名异常等


因为这里是除0了,所以我们可以用除0异常来捕获这个异常




当然,当出现的不是除0错误时候,用除0异常就不能捕获其他种类的异常:




这里是值的异常,所以我们应该用ValueError来捕获这个异常:




注意到以上写了除0异常捕获和值异常捕获,而且他们像是if elif elif的结构


意味着当try中出错时,先用除0异常捕获,如果是除0异常,则捕获到,后面的值异常捕获则不执行(因为只可能是一种异常)


如果不是除0异常,则用值异常捕获,如果是值异常,则捕获到,如果是二者以外其它异常,异常没有被捕获,则运行报错


try...except...finally...


当我们出现异常时候,可以采用捕获方法,如果异常没被捕获,则运行出错,但是有时


有些代码我们一定要让它运行(不管之前有没有运行出错)


这时候,要在原先的try...except...结构中加入finally


finally,正如其名,是最后的意思


最后我一定要做的内容


当异常被捕获:




当finally之前出了异常,并且没有被捕获,照常执行finally中的内容:



下课


人生苦短,我选Python

未完待续,连载中.....


今日作业:

自己去搜索还有可能出现哪些常见的异常~

并找到Python中对应的异常模块


现在还坚持再看连载学习的你们真的很棒棒!

入门部分已经学完大部分啦!加油


小编的免费Python入门课程已经登场,等你来撩~

点击阅读原文,立即学习

Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复课程即可获取:

0.小编的Python入门视频课程!!!

1.崔老师爬虫实战案例免费学习视频。

2.丘老师数据科学入门指导免费学习视频。

3.陈老师数据分析报告制作 免费学习视频。

4.玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。

5.丘老师Python网络爬虫实战免费学习视频。


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/wxsLa7tEyy
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/4302
 
489 次点击