码迷,mamicode.com
首页 > 编程语言 > 详细

python异常捕捉以及处理

时间:2019-01-15 22:03:00      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:意思   9.png   捕捉异常   异常   报错   今天   错误   机制   lse   

看标题觉得高大上,好像能处理所有的异常。但是,事实是只能按照字面的意思来理解这一段话。

众所周知写代码哪有不出bug的?

那么出现了bug 我们不想让程序因为bug的存在而退出。那么要怎么做呢?

今天来写一下这个。

try:

  代码

except exception:

  代码

 

注意:except exception  会捕捉所有的异常,简称:万能异常。而我所知道的异常有: 索引异常 变量名字异常 迭代异常 无法调用异常 。。。。。等等有很多异常

但是一旦使用万能异常就会包庇所有的其它异常。正常的使用方式是应该把万能异常写在捕捉异常的最下方。  except 去捕捉你知道或者预料要出现的异常。这样写的好处是方便你改bug

我们的异常处理应该是小段小段的使用,方便代码的调试。

 except exception as a:  print(a)  可以打印出异常的类型

 技术分享图片

为了偷懒,so我就没有打代码,直接粘贴过来图片了,  捕捉异常之后可以使用else:   else的作用是假如这个程序没有报错执行else内的代码。

举例:我们发送邮件的时候会存在发送的邮箱号码不能使用,或者网络错误无法发送。我们不知道是否这个邮件发送出去了。那么else就可以用在捕捉异常之后,意思是代码没有发生异常使用else内的代码!

技术分享图片

finally 的作用比较神奇,不管是代码无异常运行还是异常运行都会运行到finally内 ,那么它的作用比较神奇。它在函数内部使用,即使return 也会运行finally内的代码。

 

 

 

 

 

 

 

粘贴一发老师写的总结:

# 程序一旦发生错误,就从错误的位置停下来了,不在继续执行后面的内容
# 使用try和except就能处理异常
#try是我们需要处理的代码
#except 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码
#except支持多分支
#有没有一个能处理所有错误的类型 : Exception
# 有了万能的处理机制仍然需要把能预测到的问题单独处理
# 单独处理的所有内容都应该写在万能异常之前
# else : 没有异常的时候执行else中的代码
# finally : 不管代码是否异常,都会执行
# finally和return相遇的时候 依然会执行
# 函数里做异常处理用,不管是否异常去做一些收尾工作

 

python异常捕捉以及处理

标签:意思   9.png   捕捉异常   异常   报错   今天   错误   机制   lse   

原文地址:https://www.cnblogs.com/dtaxx-99/p/10274425.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!