Python第十二节 异常
Python 第十三节 异常
python的错误一般包含两类:
* 语法错误 : 语法错误一般就是, 当你写完程序提交的时候, 发现无法提交, 提示存在错误.例如: 英文逗号 错写成了 中文逗号
* 异常 : 在执行阶段, 因某种原因导致程序中断, 即为异常。例如: 除数为0, 在编译阶段会通过, 但是执行阶段会报错。
一.异常和异常处理
异常在执行中断后会以信息的形式打印在终端给与提示,以调用栈的形式显示具体信息
我们写程序的过程中, 终归会有考虑不到或者出乎意料的地方, 对此, 为了保证程序遇到异常, 仍能继续执行下去, 则就要用到异常处理。
异常处理的逻辑如下:
try:
代码块1
except 异常类别1:
异常处理代码块1
except 异常类别2:
异常处理代码块2
except: 异常处理代码块3
else:
代码块2
具体过程如下:
1.执行代码块1(代码块1是正常的程序逻辑, 即我们要实现的部分)
2.如果并没有触发异常, 则执行完代码块1就结束, except部分忽略
3.否则, 从代码块1触发异常的位置起,停止后续代码块1的执行。触发的异常会去匹配后面的异常分支(触发的异常会有一个名称, 比方说除数为0的异常叫做ZeroDivisionError), 进而去执行对应的分支内的异常处理逻辑。等执行完异常逻辑处理, 再转而继续执行代码块1剩下的部分。
4.如果未找到对应的except分支, 那么异常会抛给上层的try对应的异常处理。
5.如果完全无异常, 则会继续执行else分支(else分支可选, 其目的是将try内的代码块拆分得更细)
举一个简单的例子:
def FunTest(xx, yy):
print(xx/yy)
if __name__ == '__main__':
aa = 10;
bb = 0;
try :
FunTest(aa, bb)
except Exception:
print("异常, 为程序的能够不报错, 返回值 :", 0)
else:
print('如果看到这句话, 证明为触发异常')
执行结果如下:
还有try...finally...
还有一部分用户自定义异常
Python第十二节 异常的更多相关文章
- Python中获取异常(Exception)信息
异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置.下面介绍几种python中获取异常信息的方法,这里获取异常(Exception)信息采用try...except...程序 ...
- python学习笔记——异常
转自 http://www.cnblogs.com/rubylouvre/archive/2011/06/22/2086644.html Python内建异常体系结构 BaseException +- ...
- Python学习 之 异常
1.python中处理异常的方式 #coding:utf8 filename=raw_input("请输入你要操作的文件") try: f=open(filename) print ...
- python中的异常如何处理
一.异常基础 在编程程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面. try: #正常逻辑代码 input = raw_input("输入数字:") data ...
- python自动化测试之异常及日志
为了保持自动化测试用例的健壮性,异常的捕获及处理,日志的记录对掌握自动化测试执行情况尤为重要,这里便详细的介绍下在自动化测试中使用到的异常及日志,并介绍其详细的用法. 一.日志 打印日志是很多程序的重 ...
- python大法好——异常
---恢复内容开始--- Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Pyth ...
- 十九. Python基础(19)--异常
十九. Python基础(19)--异常 1 ● 捕获异常 if VS异常处理: if是预防异常出现, 异常处理是处理异常出现 异常处理一般格式: try: <............. ...
- Python错误和异常 学习笔记
错误和异常概念 错误: 1.语法错误:代码不符合解释器或者编译器语法 2.逻辑错误:不完整或者不合法输入或者计算出现问题 异常:执行过程中出现万体导致程序无法执行 1.程序遇到 ...
- Python入门学习系列——Python文件和异常
从文件中读取数据 首先准备一个文本文件,文件中存储着普通文本数据.读取文件需要调用open()和read()函数. 读取整个文件 代码示例: with open('pi_digits.txt') as ...
随机推荐
- Python之复数、分数、大型数组数学运算(complex、cmath、numpy、fractions)
一.复数的数学运算 复数可以用使用函数 complex(real, imag) 或者是带有后缀j的浮点数来指定 a=complex(2,4) print(a) # (2+4j) b=2-5j # 获取 ...
- Vue.js 3 Step 创建一个组件
Step1:Vue.extend()创建组件 Step2:Vue.component()注册组件,注册的标签一定要用小写 Step3:挂载点使用组件 <!doctype html> < ...
- L2Dwidget
只需要在[页首html代码]中引入L2Dwidget.js即可.<!-- 右下角live2d效果 --> <script src="https://eqcn.ajz.mie ...
- unittest接口自动化测试报告
unittest接口自动化测试报告 展示: 代码: __author__ = "Wai Yip Tung, Findyou" __version__ = "0.8.2.1 ...
- 力扣—gray code (格雷编码) python实现
题目描述: 中文: 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异. 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列.格雷编码序列必须以 0 开头. 英文: Th ...
- python中函数用法
unique() numpy.tolist() collections.defaultdict() random.sample()[] 1. unique():返回参数数组中所有不同的值,并按照从小到 ...
- 割点的tarjan算法模板
基本思路: 朴素的思想是删除每一个点,然后去dfs,这样无疑会爆炸 换一种思路,怎样判断是割点呢,如果是根节点的话毫无疑问只要看子树的数目,但是如果不是根节点呢,不知大牛是怎样想到的 利用两个数组df ...
- html5中的选择器
1.html5中的属性选择器 <body> <style type=text/css> <!--1>完全匹配选择器--> [id=test]{ color:r ...
- python3 利用configparser生成和读取配置文件
利用configparser生成和读取配置文件 #Author by Andy #_*_ coding:utf-8 _*_ import configparser ''' 配置文件格式 groupna ...
- shell 读取文件的每一行
1.使用while #!/bin/bash while read line do echo $line done < file.txt #!/bin/bash cat file.txt | wh ...