写自动化脚本时经常会用到异常处理,下面将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. (架构)React Native 导出项目全局共用组件的模块

    自定义组件全局使用(类似如下) import { ReactNavComponent, Widget, Util } from 'rn-yunxi'; const { RegexpUtil, Stor ...

  2. Linux-date函数

    rhel7 date函数 显示本地时间?设定当前系统的时间,以一定格式显示当前时间,如X-X-X /X:X:X 使用man date命令查看关于date的使用方法 SYNOPSIS           ...

  3. MyBatis中返回List

    一般情况下,我们需要返回一个List 在Dao层定义: List<TbAddress> selectAll(); 那么在对应的mapper文件中,应该如下: <select id=& ...

  4. C#的Class的几个修饰符

    none or internal     类只能在当前的工程中访问 Public                    类可以在任何地方访问 abstract or internal abstract ...

  5. Azure IoT 技术研究系列2

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  6. expect实现远程主机自动执行命令脚本

    2014年第一个脚本,哈哈!!! expect实现远程主机自动执行命令脚本: #!/usr/bin/expect -- if { [llength $argv] < 4 } { puts &qu ...

  7. [REPRINT]Properties vs. Getters and Setters

    http://www.python-course.eu/python3_properties.php Our new class means breaking the interface. The a ...

  8. linux运维、架构之路-xtrabackup

    一.XtraBackup介绍 1.备份工具 xtrabackup:是一款基于InnoDB的在线热备工具,具有开源,免费,支持在线热备,占用磁盘空间小,能够非常快速地                   ...

  9. linux运维、架构之路-KVM虚拟化技术

    一.云计算概述 云计算:是一种资源使用和交付模式 虚拟化:一种具体的技术,用来将物理机虚拟成为多个相互独立的虚拟机.云计算不等于虚拟化,云计算是使用了虚拟化的技术做支撑 二.KVM配置使用 1.系统环 ...

  10. Error:MySQLAdministrator无法连接到实例

    Q:利用MySQLAdministrator登录时显示could not connect to the specific instance,使用ping指令后可以ping通,如下所示: A:这里能够p ...