ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python错误与异常的简记

2019-12-22 20:00:14  阅读:202  来源: 互联网

标签:错误 python 代码 except try 简记 子句 执行 异常


python错误和异常
  1、assert(断言)用于判断一个表达式,在表达式为false时触发异常。assert可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,例如我们的代码只能在 Linux 系统下运行,可以先判断当前系统是否符合条件。
  其语法:assert expression 等价于:
      if not expression:
        raise AssertionError
  2、除了语法分析器发现的语法错误外,到运行期也可能会发生错误,此时称之为异常:如ZeroDivisionError,NameError 和 TypeError等等。
  异常处理:
    1)try/except:异常捕捉:
    架构:
      try:{#一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
          执行代码。(如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。)
      }
      except:{#异常类型符合时,将执行下面代码,如果一个异常没有与任何的 excep 匹配,那么这个异常将会传递给上层的 try 中。
            发生异常时执行的代码。(没有发生异常时,此部分会被忽略)
      }
    备注:一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如:
      except (RuntimeError, TypeError, NameError):
        pass
    另外,最后一个except子句可以忽略异常的名称,它将被当作通配符使用。

    2)try/except...else:try/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的 except 子句之后。
    架构:
      try:{#一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
          执行代码。(如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。)
      }
      except:{#异常类型符合时,将执行下面代码,如果一个异常没有与任何的 excep 匹配,那么这个异常将会传递给上层的 try 中。
            发生异常时执行的代码。(没有发生异常时,此部分会被忽略)
      }
      else:{
          没有异常时执行的代码
      }
    3)try-finally:try-finally 语句无论是否发生异常都将执行最后的代码。
    架构:
      try:{#一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
          执行代码。(如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。)
      }
      except:{#异常类型符合时,将执行下面代码,如果一个异常没有与任何的 excep 匹配,那么这个异常将会传递给上层的 try 中。
        发生异常时执行的代码。(没有发生异常时,此部分会被忽略)
      }
      else:{
          没有异常时执行的代码
      }
      finally:{
            不管有没有异常都会执行的代码
      }
    4)抛出异常:raise:Python 使用 raise 语句抛出一个指定的异常。
    语法:raise [Exception [, args [, traceback]]]
      eg:
        x = 10
        if x > 5:
        raise Exception('x 不能大于 5。x 的值为: {}'.format(x))
      执行以上代码会触发发异常:
        Traceback (most recent call last):
         File "test.py", line 3, in <module>
          raise Exception('x 不能大于 5。x 的值为: {}'.format(x))
        Exception: x 不能大于 5。x 的值为: 10

3)预定义的清理行为:关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行他的清理方法:
eg:
  with open("myfile.txt") as f:
    for line in f:
      print(line, end="")
  以上这段代码执行完毕后,就算在处理过程中出问题了,文件 f 总是会关闭。

标签:错误,python,代码,except,try,简记,子句,执行,异常
来源: https://www.cnblogs.com/yangrongkuan/p/12080811.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有