您的位置: 网站首页> python基础> 当前文章
什么是异常?异常和错误的区别?为什么用异常
老董-我爱我家房产SEO2020-08-01154围观,113赞
异常和错误
写程序的时候可能会犯错,有些错是语法层面的,无法去执行,这就是错误。有些错误语法上符合规范,但由于自身逻辑失误或者其他原因造成运行时出现故障,这就是异常,异常又称为运行时错误。不管是错误还是异常(如果未处理)都会导致程序停止运行。
错误举例:你定义变量用数字开头;你用echo来输出变量而不是print,这些在python中这是不允许的。
异常举例:一个列表lis有2个元素,你却写lis[2]让他输出第3个元素;一个字典只有key1你却写dict['key2']让他输出。
为什么学习异常处理
假设要读取10000个文件的数据,第1个文件名写错了但其他9999个文件都是ok的,可偏偏因为第1个文件读取错误就导致程序挂掉,本来能成功读取9999个的机会也被扔掉了。这个事情就很不划算。如果10000个文件你不知道哪个文件名不对呢?岂不是每一个都要判断一下文件是否存在,这也会增加代码量。
所以,此情此景就得用异常这种机制来处理了。
初步感受下语法
一个简单的案例感受下效果,具体的语法后面会介绍。情景:用10除以列表里每一个元素得到一个新的列表。前提是原列表有个0。我们看下加异常和不加异常的效果。
# -*- coding: utf-8 -*- lis = [1,0,2,3,4,5] # 异常处理 for i in lis: try: print(10/i) except Exception as e: print(e,'除0是不行的') else: pass print('-----------------') for i in lis: print(10/i)
10.0 division by zero 除0是不行的 5.0 3.3333333333333335 2.5 2.0 ----------------- 10.0 Traceback (most recent call last): File "D:/pyscript/py3script/python66/python66.py", line 17, in <module> print(10/i) ZeroDivisionError: division by zero
什么时候用异常处理
作为新手可能会想为了让程序不挂掉我在每一句代码上都加上异常。这样是不合理的,过犹不及。异常检测也会消耗计算机的资源影响程序的效率。
在程序中适合加异常的是那些你无法100%预知结果可能会错的地方。比如爬虫程序抓取一个网页可能会出现网络断了,此时请求网页的过程可以加个异常处理。
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
什么是异常?异常和错误的区别?为什么用异常文章写得不错,值得赞赏
站点信息
- 网站程序:Laravel
- 客服微信:a772483200