Python异常类型及处理、自定义异常类型、断言
- 异常的概念、识别报错信息
- 异常处理
- 断言的基本使用
异常类型(异常就是报错)
常见异常
NameError:名称错误 SyntaxError:语法错误 TypeError:类型错误
错误回溯
查看报错原因、报错的行,以及执行的代码
通过错误回溯,可以直接查看到这些内容
异常本身是类(基于继承)
在 Python 中所有的异常都是继承自 BaseException
分为四大类:
SystemExit:Python退出异常 KeyboardInterrupt: 键盘打断(Ctrl+C)
GeneratorExit: 生成器退出 Exception: 普通异常
异常处理
try except else finally
注意:try 后面必须跟上 except
try中的代码没有报错,才会执行else中的代码
有没有报错,都会执行finally中的代码
捕获具体的异常
except 后面写上捕获具体的异常类型(语法错误SyntaxError捕捉不到),通过as 把捕获的异常信息 储存到后面的变量里
代码中会出现的异常都是 Exception 的子类, 因此在不确定异常类型时,except 中只需要在最后加上 Exception即可(也捕捉不到语法错误)
自定义异常类型
raise 主动抛出异常的类型
自定义的异常必须继承Exception
断言assert
断言语句是将调试断言插入程序的一种便捷方式
assert 的语法规则
表达式返回 True 不报错
表达式返回 False 报错 报 AssertionError
Python异常类型及处理、自定义异常类型、断言的更多相关文章
- python异常:常见异常、处理、断言、自定义异常
一.异常是什么 二.常见异常 三.异常处理 四.不太常用语法 五.主动判处异常 六.断言 七.使用场景 八.自定义异常类型 一.异常是什么 """ 什么是异常? 异常是错 ...
- Python异常类型及包含关系
Python异常类型及包含关系,设计异常捕获时参考: BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- ...
- Python基础(3) - 数据类型:3列表类型
Python 列表是序列对象,可包含任意的Python数据信息,如字符串.数字.列表.元组等.列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加.修改.删除等操作.列表用[]包括起来的. 列 ...
- 【Python系统学习03】错误类型整理(一)
错误类型与可能原因分析 A.语法错误: 1.syntaxError:invalid syntax 无效的语法 print(2019小石头) # print(2019小石头) # ^ # SyntaxE ...
- python基础(1) 变量类型
变量赋值: python中的变量不需要类型声明 每个变量在使用前必须赋值,变量赋值以后才会被创建 变量在内存中创建时,包括变量的标识.名称和数据这些信息. EX: #!/usr/bin/python ...
- Python基础(2)--对象类型
Python使用对象模型来存储数据.构造任何类型的值都是一个对象 所有的Python对象都拥有三个特性:身份.类型.值 身份: 每一个对象都有一个唯一的身份来标志自己,任何对象的身份可以使用内建函数i ...
- 理解python可变类型vs不可变类型,深拷贝vs浅拷贝
核心提示: 可变类型 Vs 不可变类型 可变类型(mutable):列表,字典 不可变类型(unmutable):数字,字符串,元组 这里的可变不可变,是指内存中的那块内容(value)是否可以被改变 ...
- Net使用RdKafka引发异常RdKafka.Internal.LibRdKafka 的类型初始值设定项引发异常
在Net中VS2015用RdKafka组件开发消息发布和消费,引发下面的异常 RdKafka.Internal.LibRdKafka 的类型初始值设定项引发异常System.TypeInitializ ...
- python可变类型和不可变类型
原文地址:http://www.cnblogs.com/huamingao/p/5809936.html 可变类型 Vs 不可变类型 可变类型(mutable):列表,字典 不可变类型(unmutab ...
随机推荐
- 前端JS实现一键导入excel表格
前面的文章中已经讲过关于js表格的导出,此文章主要说到的是excel文件如何导入到网页中,并在网页端显示. 代码部分: <!DOCTYPE html> <html> <h ...
- Tensorflow创建会话,启动会话
import tensorflow as tf #定义一个常量 m1=tf.constant([[,]])#这是一个一行两列的数据 print(m1) m2=tf.constant([[],[]]) ...
- 基于opencv -python--银行卡识别
import cv2 def sort_contours(cnts, method="left-to-right"): reverse = False i = 0 if metho ...
- frp内网渗透实现ssh外网访问家里树莓派(树莓派raspbian系统+腾讯云contos7)
只有信用卡大小的它,同时也是一台功能完备的电脑(树莓派),把内网能玩的功能都玩了个遍,自然就有了外网访问这台树莓派的需求.一样也是查阅了无数文章,研究了无数个方案,最终试验成功用FRP实现了内网穿透, ...
- I2C协议学习笔记
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/wzt_007/article/detai ...
- June 16th, 2019. Week 25th, Sunday.
I can fly higher than an eagle, for you are the wind beneath my wings. 我之所以能飞得比鹰还高,是因为有你做我羽翼下的风. You ...
- centos7删除MariaDB怎么操作
有时我们要在centos上安装一些组件,需要先把原来的数据库删除,比如MariaDB,不然就出现冲突错误,那么如何删除数据库呢?首先查询所安装的MariaDB组件: [root@localhost l ...
- Hbase启动出问题 master.HMaster: Failed to become active master
Hbase启动出问题 2019-12-15 09:59:57,183 WARN [hadoop:16000.activeMasterManager] hdfs.DFSClient: DFS Read ...
- 剑指Offer-31.整数中1出现的次数(从1到n整数中1出现的次数)(C++/Java)
题目: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.A ...
- eclispe git config配置文件配置远程仓库
git config基本配置如下: [core] repositoryformatversion = 0 filemode = false logallrefupdates = true [remot ...