zoukankan      html  css  js  c++  java
  • 异常处理

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

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

    特点:

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

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

    这是我们就可以使用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来实现

  • 相关阅读:
    前端面试题
    js collection
    javascript变量声明提升(hoisting)
    css3动画
    神奇的meta
    wap站bug小结
    前端collection
    js拾遗
    prototype之初印象
    自定义scrollBottom的值
  • 原文地址:https://www.cnblogs.com/zly9527/p/11515492.html
Copyright © 2011-2022 走看看