写自动化脚本时经常会用到异常处理,下面将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之异常处理的更多相关文章

  1. Python3 的异常处理

    Python3 的异常处理,在官方文档的 tutorial 中有说明. 这里把常用的异常处理方法都列出来,方便平时查找. 捕获异常基类 Python3 要求我们的异常必须继承 Exception 类. ...

  2. 【Python3之异常处理】

    一.错误和异常 1.错误 代码运行前的语法或者逻辑错误 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) def test: ^ SyntaxError: inva ...

  3. python3中异常处理方法 try-except-else-finally

    个人感觉逻辑上类似if else条件判断 但这是对语法错误以及抛出异常的处理 异常处理 try/except 异常捕捉可以使用 try/except 语句. 以下例子中,让用户输入一个合法的整数,但是 ...

  4. python3之异常处理,断言和反射

    1.异常基础 python在运行过程中,程序解释机制会测试代码,如检测不通过则会抛出异常. try: aa = 10 bb = ' cc = aa + bb except Exception as e ...

  5. 笔记||Python3之异常处理

    异常概念:1 - 代码执行产生错误,无法继续 2 - 在异常前面代码是可以执行的  ---python是解释型的 3 - 异常作用  --- 程序不要退出 - 可以继续执行 同时给予程序员一定的异常提 ...

  6. python try except, 异常处理

    http://www.runoob.com/python/python-exceptions.html http://blog.sciencenet.cn/blog-3031432-1059523.h ...

  7. Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)

    urllib是python的一个获取url(Uniform Resource Locators,统一资源定址器)了,我们可以利用它来抓取远程的数据进行保存哦,下面整理了一些关于urllib使用中的一些 ...

  8. Python3中urllib详细使用方法(header,代理,超时,认证,异常处理) 转

    urllib是python的一个获取url(Uniform Resource Locators,统一资源定址器)了,我们可以利用它来抓取远程的数据进行保存哦,下面整理了一些关于urllib使用中的一些 ...

  9. 【转】Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)

      urllib是python的一个获取url(Uniform Resource Locators,统一资源定址器)了,我们可以利用它来抓取远程的数据进行保存哦,下面整理了一些关于urllib使用中的 ...

随机推荐

  1. 基于numpy的绘图

    import numpy as np #import matplotlib.pyplot as plt dataset = np.loadtxt('1.csv', delimiter=",& ...

  2. ubuntu进入纯命令行

    启动按shfit 然后光标在第一行按e 倒数第二行末尾添加quiet splash $vt_handoff 3 然后按CTRL+X或F10引导系统,启动之后就是命令行模式了

  3. WPF Geometry="M0,0 L1,0 1,0.1, 0,0.1Z" 画方格背景图

    此项目源码下载地址:https://github.com/lizhiqiang0204/Tile 方格效果: 前端代码如下: <Window x:Class="WpfApp1.Main ...

  4. Scrat

    前端工程化集成:Scrat UC团队在百度FIS基础上二次开发的模块化开发框架,可以与vue配合使用

  5. MySQL技巧--伪哈希索引

    哈希索引 哈希索引就是通过一个哈希函数计算出某个key的hash值,并以这个hash值去找到目标数据.例如:对于数据库的一行数据,对其主键进行hash运算,得到一个地址,这个地址指向这行记录的存储地址 ...

  6. 深入理解MySql事务

    事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段.本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理. MySQL博大精深,文 ...

  7. H5是什么?

    找工作面试官都会问你H5吗? 然后做一个前端的我一脸蒙蔽,到底什么是H5? 一般来说刚开始H5 是 Html5标准的简称,但是仅仅是html5标签,几乎什么也做不出来了,最多就是个静态网页,还得用到j ...

  8. 对SQL 优化,提升性能!

    对SQL 进行优化能够有效提高SQL 语句的执行效率,降低系统资源开销,是开发者提高后端系统处理能力的首选方案. 新产品上线后,随着运营推广活动的开始,业务进入快速增长期,数据库作为后端系统唯一或者主 ...

  9. Apache启动错误:could not bind to address[::]:443

    Q:Windows环境下启动apache报错如下: 可是在httpd.conf文件中apache listen的明明是http 80端口,为什么会报443的错误? A:因为你的计算机安装了VM,所有有 ...

  10. Java异常处理的基础知识

    Java中的异常捕获语句 Try{ //可能发生运行错误的代码: } catch(异常类型 异常对象引用){ //用于处理异常的代码 } finally{ //用于“善后” 的代码 } Java 中所 ...