python基础(十):异常和断言
异常的分类
异常主要分为四大类,所有异常都是类的形式,均继承了BaseException这个类。其中SystemExit为Python的退出异常,KeyboardInterrupt为键盘的中断异常,GeneratorExit为生成器的退出异常。最后一种也是我们通常会遇到的异常Exception普通异常。普通异常包括我们平时会经常遇到的异常类型,如下图所示。
异常捕获
当程序运行过程中发生错误程序就会终止,为了避免这一情况我们需要捕获异常。
try/except
捕获由Python或你引起的异常并恢复
try/finally
无论异常是否发生,执行清理行为
在目前的python版本中except和finally可以同时出现,除此之外还有else语句,其后的语句会在程序未发生异常的时候执行,而finally后的语句无论是否发生异常都会执行。
try:print(aaa)#错误代码 except Exception as e:print("错误信息:",e)>>>错误信息: name 'aaa' is not defined
try:# print(aaa)#错误代码print('aaa')#正确代码 except Exception as e:print("错误信息:",e) else:print("else执行!!")>>>aaaelse执行!!
try:print(aaa)#错误代码# print('aaa')#正确代码 except Exception as e:print("错误信息:",e) finally:print("finally执行!!")>>>错误信息: name 'aaa' is not defined finally执行!!try:# print(aaa)#错误代码print('aaa')#正确代码 except Exception as e:print("错误信息:",e) finally:print("finally执行!!")>>>aaa finally执行!!
异常抛出
raise语句会手动在代码中触发异常。其功能主要用于程序的调试。
raise NameError>>> Traceback (most recent call last):File "/home/pyvip/JoePY/home/pyvip/JoePY/test.py", line 58, in <module>raise NameError NameError
断言
assert语句会有条件的在程序代码中触发异常。assert 条件表达式,当条件表达式返回值为True时,不报错。当条件表达式返回值为False时,报错。报错类型为AssertionError。
assert 1>2>>> Traceback (most recent call last):File "/home/pyvip/JoePY/home/pyvip/JoePY/test.py", line 59, in <module>assert 1>2 AssertionError
转载于:https://www.cnblogs.com/austinjoe/p/9475615.html
python基础(十):异常和断言相关推荐
- 十九. Python基础(19)--异常
十九. Python基础(19)--异常 1 ● 捕获异常 if VS异常处理: if是预防异常出现, 异常处理是处理异常出现 异常处理一般格式: try: <...............&g ...
- Python基础十五:面向对象编程四:高级特性
Python基础十五:面向对象编程四:高级特性 Python基础系列内容为学习廖雪峰老师Python3教程的记录,廖雪峰老师官网地址:廖雪峰Python3教程 Author:yooongchun Em ...
- Python基础十九:多进程
Python基础十九:多进程 Python基础系列内容为学习廖雪峰老师Python3教程的记录,廖雪峰老师官网地址:廖雪峰Python3教程 Author:yooongchun Email:yooon ...
- Python基础(10) - 异常
Python 异常:程序出现了错误而在正常控制流以外采取的行为 Python中常见的异常: 1. NameError:尝试访问一个未声明的变量 >>> something Trace ...
- Python基础 ( 十 ) —— 面向对象(多态、封装、反射、动态导入)
#面向对象的三大特性 1 继承(上一章的内容) 2 多态 python本身就是多态的 3 封装 # 多态 #不同类的实例化对象,调用同一个方法(执行的逻辑不同),而不用考虑他们具体的类,例如: 字符对 ...
- Python基础十四——内置函数和匿名函数
内置函数: 截止到 python 版本3.6.2,现在 python 一共提供了 68 个内置函数. Built-in Functions abs() dict() help() mi ...
- python基础十 函数(下)匿名函数、高阶函数、闭包、装饰器
目录 1. 匿名函数(lambda表达式) 2. 高阶函数 3. 函数的嵌套 4. nonlocal 关键字使用 5. 闭包 6. 装饰器 1. 匿名函数(lambda表达式) 简介 用一句话来表达只 ...
- python基础教程----异常
1.什么是异常 Python用异常对象来表示异常,遇到错误后,会引发异常,如果异常对象并未被处理或捕捉,程序会用所谓的回溯终止执行. 2.按自己的方式出错 如何引发异常,甚至创建自己的异常类型 2.1 ...
- Python基础(十八): 类和对象以及它们的属性
一.类 最简单的经典类结构 class 类名:pass 复制代码 1.定义一个类 class Money:pass 复制代码 类名规范: 驼峰命名法, 并且首字母大写 2.实例化一个对象 创建一个对象 ...
- python基础十四之匿名函数
匿名函数 处理简单问题的简化函数,关键字lambda. # 格式:函数名 = lambda 参数:返回值 anonymity = lambda s: s ** 0.5 print(anonymity( ...
最新文章
- python tk messagebox_tkMessageBox
- mysql 游标异常_mysql中的游标和异常捕捉
- KEIL MDK LIB库文件的制作
- 重置SVN用户名与密码,修改SVN的IP地址
- 全国计算机二级vb 无纸化,2013年3月全国计算机等级考试二级VB无纸化上机题题库题干及答案解析(2)...
- SP1026 FAVDICE - Favorite Dice 期望dp
- windosw7 Hosts文件的位置
- android studio连接服务端代码,Android studio - 无法连接到LDAP服务器(示例代码)
- Ubuntu20.04安装eBPF BCC
- String当中的高效函数(优化)
- [Unity菜鸟] Character控制移动
- DXperience Winforms12.2版的中文使用手册
- 63 岁工程师的退休生活:开发一款计算器应用,22 天获 56800 下载!
- android es2 es3,良心点评解析九号滑板车es2和es3有什么区别哪个好?老司机揭秘评测如何...
- 高通骁龙410e/APQ8016E嵌入式物联网应用处理器解决方案
- 如何将域名和网站转入香港主机
- 利用代码快速批量取消微博的关注
- MacOS启动台(launchpad)缺少应用软件图标
- nginx新增conf文件
- 运动装备怎么选?运动装备品牌排行榜
热门文章
- 基于c的语言开发,基于CC++等高级编程语言开发电子系统的设计自动化系统.doc
- java 中的事物怎么配置_java – 在hibernate中如何以编程方式设置事务的隔离级别,或者如何创建具有不同隔离级别的两个事务...
- DG Lecture 2 part 1: points, vectors, directional derivative
- Dropout抑制过拟合与超参数选择
- 无法将该对象添加到ldap服务器_Minecraft 基岩版 Ubuntu服务器搭建(三)
- keras版Mask-RCNN来训练自己的目标检测数据集
- 聚类算法实现:DBSCAN、层次聚类、K-means、
- vue提交mutation_为什么Vuex中必须要通过commit提交mutation?
- CentOS8 DNF简介 常用命令以及配置本地yum源
- ObjC学习7-C语言特性