ICode9

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

Python3 错误和异常-(try/except/else/finally/raise/assert)

2020-05-04 23:02:07  阅读:318  来源: 互联网

标签:断言 错误 Python except assert 异常 raise


一、异常处理

来个总的图例子:

以下实例中 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

标签:断言,错误,Python,except,assert,异常,raise
来源: https://www.cnblogs.com/yifanrensheng/p/12828734.html

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

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

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

ICode9版权所有