zoukankan      html  css  js  c++  java
  • Python3 错误和异常-(try/except/else/finally/raise/assert)

    一、异常处理

    来个总的图例子:

    以下实例中 finally 语句无论异常是否发生都会执行:

    二、抛出异常

    Python 使用 raise 语句抛出一个指定的异常。

    raise语法格式如下:

    raise [Exception [, args [, traceback]]]

    第一个参数someException是触发异常的名称,异常名称是Python提供的标准异常中的任何一种;

    第二个参数args是可选的,args可以是一个元组,也可以是单独的字符串。大多数情况下,单一的字符串用来指示错误发生的原因。如果传的是元组,通常的组成是一个错误字符串、一个错误编号、一个处理错误的函数地址等;

    第三个参数是一个traceback对象,它也是可选的,实际上这个参数很少使用,主要是用于跟踪错误记录。

    使用raise语句可以主动抛出异常,用于处理因一些因用户错误操作和输入而产生的问题。Python提供的标准异常有可能不满足程序一些特定的异常处理需求。例如用户操作和输入错误的一些异常。在这种情况下,可以创建自己的异常。

    新创建的异常需要继承于标准异常的基类或子类,这里可能会涉及到类的概念,关于类的概念,我们会在后面的章节予以介绍。下面是一个新建异常的例子。

    上面的代码新建了一个CustomError异常类,CustomError异常类继承于Python标准异常的Exception类。在下面的代码中,我们修改前面用户登录判断的案例代码,并使用自己新建的CustomError异常来处理问题。

    三、Python3 assert(断言)

    Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。

    断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,例如我们的代码只能在 Linux 系统下运行,可以先判断当前系统是否符合条件。

    python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助

    python assert断言的作用

    python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达式为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。

    语法格式如下

    assert expression

    等价于:

    if not expression:

    raise AssertionError

       

    assert 后面也可以紧跟参数:

    assert expression [, arguments]

    等价于:

    if not expression:

    raise AssertionError(arguments)

       

    https://www.runoob.com/python3/python3-errors-execptions.html

  • 相关阅读:
    分子动力学中步长的选取
    提高编程能力刷题网站
    【18】如何把数据存储到MongoDB数据库
    【17】有关python面向对象编程的提高【多继承、多态、类属性、动态添加与限制添加属性与方法、@property】
    【16】有关python面向对象编程
    【15】杂记章节
    【14】文件读取并格式化处理
    【13】python time时间模块知识点备查
    【11】python 递归,深度优先搜索与广度优先搜索算法模拟实现
    6380. 【NOIP2019模拟2019.10.06】小w与最长路(path)
  • 原文地址:https://www.cnblogs.com/yifanrensheng/p/12828734.html
Copyright © 2011-2022 走看看