Python3之异常处理
写自动化脚本时经常会用到异常处理,下面将python中的异常处理做一整理:
注意:以下所有事列中的111.txt文件不存在,所以会引起异常
用法一:try...except...else..类型
1.没有异常时运行:
a = 3
try:
print(a)
except BaseException as msg: #用msg变量来接受信息,并将其打印。其中BaseException为所有异常的基类,所有异常都继承与它
print(msg)
else:
print("没有异常时执行")
运行结果:
3
没有异常时执行
2.有异常时运行:
a = 3
b = 4
try:
print(a)
open("111.txt",'r') #使用open以只读的方式打开不存在的文件111.txt
print(b)
except BaseException as msg: #用msg变量来接受信息并将其打印
print(msg)
else:
print("没有异常时执行")
运行结果:
3
[Errno 2] No such file or directory: '111.txt' ##该条错误信息是msg接收到的信息
上面代码中的print(b)并没有被执行,因为再该行代码的上一步出现异常
用法二:try...except...finally...类型
1.没有异常时运行:
a = 3
try:
print(a)
except BaseException as msg:
print(msg)
finally:
print("不管有没有异常都会被执行")
运行结果:
3
不管有没有异常都会被执行
2.有异常时运行:
a = 3
try:
print(a)
open('111.txt','r')
except BaseException as msg:
print(msg)
finally:
print("不管有没有异常都会被执行")
运行结果:
3
[Errno 2] No such file or directory: '111.txt'
不管有没有异常都会被执行
用法三:抛出异常(raise)
a = 3
try:
print(a)
open('111.txt','r')
except:
raise Exception('111.txt no exsit') #raise用于异常抛出
运行结果:
3
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
FileNotFoundError: [Errno 2] No such file or directory: '111.txt' During handling of the above exception, another exception occurred: Traceback (most recent call last):
File "<stdin>", line 5, in <module> #抛出异常
Exception: 111.txt no exsit
自定义异常
class TimeError(RuntimeError): #定义一个异常类,该类应该是典型的继承自Exception类,通过直接或间接的方式
def __init__(self,arg):
self.arg = arg try:
raise TimeError("Network timeout") #自定义异常提示
except TimeError as e:
print(e.arg)
运行结果:
Network timeout
Python3之异常处理的更多相关文章
- Python3 的异常处理
Python3 的异常处理,在官方文档的 tutorial 中有说明. 这里把常用的异常处理方法都列出来,方便平时查找. 捕获异常基类 Python3 要求我们的异常必须继承 Exception 类. ...
- 【Python3之异常处理】
一.错误和异常 1.错误 代码运行前的语法或者逻辑错误 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) def test: ^ SyntaxError: inva ...
- python3中异常处理方法 try-except-else-finally
个人感觉逻辑上类似if else条件判断 但这是对语法错误以及抛出异常的处理 异常处理 try/except 异常捕捉可以使用 try/except 语句. 以下例子中,让用户输入一个合法的整数,但是 ...
- python3之异常处理,断言和反射
1.异常基础 python在运行过程中,程序解释机制会测试代码,如检测不通过则会抛出异常. try: aa = 10 bb = ' cc = aa + bb except Exception as e ...
- 笔记||Python3之异常处理
异常概念:1 - 代码执行产生错误,无法继续 2 - 在异常前面代码是可以执行的 ---python是解释型的 3 - 异常作用 --- 程序不要退出 - 可以继续执行 同时给予程序员一定的异常提 ...
- python try except, 异常处理
http://www.runoob.com/python/python-exceptions.html http://blog.sciencenet.cn/blog-3031432-1059523.h ...
- Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
urllib是python的一个获取url(Uniform Resource Locators,统一资源定址器)了,我们可以利用它来抓取远程的数据进行保存哦,下面整理了一些关于urllib使用中的一些 ...
- Python3中urllib详细使用方法(header,代理,超时,认证,异常处理) 转
urllib是python的一个获取url(Uniform Resource Locators,统一资源定址器)了,我们可以利用它来抓取远程的数据进行保存哦,下面整理了一些关于urllib使用中的一些 ...
- 【转】Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)
urllib是python的一个获取url(Uniform Resource Locators,统一资源定址器)了,我们可以利用它来抓取远程的数据进行保存哦,下面整理了一些关于urllib使用中的 ...
随机推荐
- 基于numpy的绘图
import numpy as np #import matplotlib.pyplot as plt dataset = np.loadtxt('1.csv', delimiter=",& ...
- ubuntu进入纯命令行
启动按shfit 然后光标在第一行按e 倒数第二行末尾添加quiet splash $vt_handoff 3 然后按CTRL+X或F10引导系统,启动之后就是命令行模式了
- WPF Geometry="M0,0 L1,0 1,0.1, 0,0.1Z" 画方格背景图
此项目源码下载地址:https://github.com/lizhiqiang0204/Tile 方格效果: 前端代码如下: <Window x:Class="WpfApp1.Main ...
- Scrat
前端工程化集成:Scrat UC团队在百度FIS基础上二次开发的模块化开发框架,可以与vue配合使用
- MySQL技巧--伪哈希索引
哈希索引 哈希索引就是通过一个哈希函数计算出某个key的hash值,并以这个hash值去找到目标数据.例如:对于数据库的一行数据,对其主键进行hash运算,得到一个地址,这个地址指向这行记录的存储地址 ...
- 深入理解MySql事务
事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段.本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理. MySQL博大精深,文 ...
- H5是什么?
找工作面试官都会问你H5吗? 然后做一个前端的我一脸蒙蔽,到底什么是H5? 一般来说刚开始H5 是 Html5标准的简称,但是仅仅是html5标签,几乎什么也做不出来了,最多就是个静态网页,还得用到j ...
- 对SQL 优化,提升性能!
对SQL 进行优化能够有效提高SQL 语句的执行效率,降低系统资源开销,是开发者提高后端系统处理能力的首选方案. 新产品上线后,随着运营推广活动的开始,业务进入快速增长期,数据库作为后端系统唯一或者主 ...
- Apache启动错误:could not bind to address[::]:443
Q:Windows环境下启动apache报错如下: 可是在httpd.conf文件中apache listen的明明是http 80端口,为什么会报443的错误? A:因为你的计算机安装了VM,所有有 ...
- Java异常处理的基础知识
Java中的异常捕获语句 Try{ //可能发生运行错误的代码: } catch(异常类型 异常对象引用){ //用于处理异常的代码 } finally{ //用于“善后” 的代码 } Java 中所 ...