码迷,mamicode.com
首页 > 其他好文 > 详细

异常处理

时间:2019-09-12 23:24:39      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:fun   两种   缺点   UNC   遇到   它的   出错   put   finally   

在所有语言中,我们在学习和工作中都不可避免地会遇到错误。

程序异常或者错误主要可以分为两种:语法错误和逻辑错误。

特点:

程序一旦发生异常,就从错误的位置停了下来。不在继续执行后面的内容。

但是有时我们希望可以举行执行下面的语句或者对我发出提醒。

这是我们就可以使用try:except来实现:

try:
    tet = int(input("请输入一个数字》》"))
    print(tet*34)
except ValueError:
    print(请输入数字)

技术图片

我们可以看到程序直接跳过了出错的代码而去执行了下面的代码。

使用try和·except来处理异常:

  1. tre是我们需要处理的代码
  2. except后面跟一个错误数据类型,当代码发生错误且错误类型符合的时候,就会执行except中的代码。

     3.except是支持多分支的

  4.当然,我们可以使用Exception来处理所有的异常。但是有个缺点如果只用万能异常处理,你将会不知道你在哪出错了。因为它的提示都是一个。所以我一般使用多分枝和万能异常相结合。万能异常放在最后。

我们在使用万能异常时,应注意标记一下,方便提醒我们具体是哪报错了。

1 try:
2     tet = int(input("请输入一个数字》》"))
3     print(tet*34)
4 # except ValueError:
5 #     print(‘请输入数字‘)
6 except Exception as error:
7     print(错误,error)

技术图片

try和else

1 try:
2     tet = int(input("请输入一个数字》》"))
3     print(tet*34)
4 except ValueError:
5     print(请输入数字)
6 else:
7     print(套象成功3)

技术图片

当我代码运行玩try中代码之后没有报错就会执行else里面的代码来提醒我们没有异常。

finally

不管代码是否异常,都会执行。

 1 def func():
 2     try:
 3         # dfdsfsdf
 4         # dsfssgf
 5         ret = open(套你大象, w)
 6         ret.close()
 7         return True
 8     except:
 9         ret.close()
10     finally:
11         print(执行力finally)
12         ret.close()
13 
14 print(func())

技术图片

finally和return相遇后依旧会执行。所以finally在函数里面使用。

我们可以使用它去做一些收尾工作。比如:我们在操作数据库时,不管最后程序是否有没出错都要关闭数据库。我们可以使用finally来实现

 

异常处理

标签:fun   两种   缺点   UNC   遇到   它的   出错   put   finally   

原文地址:https://www.cnblogs.com/zly9527/p/11515492.html

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