python中的 try...except...finally 的用法
python中的 try...except...finally 的用法
author:headsen chen
date:2018-04-09 16:22:11
try, except, finally是Python中的异常捕捉机制,通常的用法就是try..except...结合起来用,程序捕捉try语句块中的异常,如果发现异常就把异常交给except中的语句块进行处理,也就是执行except中的语句,这里except也可以结合
if...else一起使用。
例1:try中无异常时,执行try和finally中的内容
def read_file():
try:
print('aaa')
except:
print('error occurs while reading file')
finally:
print('bbbb')
read_file()
------>
aaa
bbbb
总结:当try下面的语句正常运行的时候,一直运行。运行完了后运行finaly下面的语句
例2:try中有异常时:
当try下面的语句运行后,碰到异常的时候,运行except下面的语句,最后运行finaly下面的语句,finaly语句一般做些资源释放的工作,比如关闭打开的文件等。
def read_file():
try:
print(2222222222)
print(aaa)
except:
print('error occurs while reading file')
finally:
print('bbbb')
read_file()
------>
2222222222 ----------> 证明try中正确的程序会被执行的,配到异常后在调到except部分执行异常的。
error occurs while reading file
bbbb
当然,try...except也可以结合finally使用。则将finally放在最后,finally语句块的内容通常是做一些后事的处理,比如资源释放什么的,并且finally语句块是无论如何都要执行的,即使在前面的try和except语句块中出现了return,都现
将finally语句执行完再去执行前面的return语句。下面看一个简单的例子:
例3:try...except...else的用法
else里的只有在try下面的语句全部正确执行了才会执行else,try里面有异常不会else的语句,和finaly不同,finaly是无论try里有无异常都执行
def read_file():
try:
print(2222222222)
except:
print('error occurs while reading file')
else:
print('bbbb')
read_file()
例4:取返回值1
当异常函数里的返回值取值:try里面正确执行时,整个函数的返回值采用try下面的返回值
def read_file():
try:
print(2222222222)
# print(a)
return 5
except:
print('error occurs while reading file')
return 6
finally:
print('bbbb')
print(read_file())
----->
例5:取返回值2
try里面有异常时,整个函数的返回值采用except下面的返回值
def read_file():
try:
print(2222222222)
print(a)
return 5
except:
print('error occurs while reading file')
return 6
finally:
print('bbbb')
print(read_file())
----->
python中的 try...except...finally 的用法的更多相关文章
- Python中生成器和yield语句的用法详解
Python中生成器和yield语句的用法详解 在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况.一些话题("if/else控制流" ...
- python中列表元素连接方法join用法实例
python中列表元素连接方法join用法实例 这篇文章主要介绍了python中列表元素连接方法join用法,实例分析了Python中join方法的使用技巧,非常具有实用价值,分享给大家供大家参考. ...
- python中List的sort方法的用法
python列表排序 简单记一下python中List的sort方法(或者sorted内建函数)的用法. 关键字: python列表排序 python字典排序 sorted List的元素可以是各种东 ...
- Python中yield和yield from的用法
yield python中yield的用法很像return,都是提供一个返回值,但是yield和return的最大区别在于,return一旦返回,则代码段执行结束,但是yield在返回值以后,会交出C ...
- python 中 dict 的另一种用法
python 中 dic另一种用法 描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 dict={} dict.get(k1,Non ...
- 【转】Python中string的strip,lstrip,rstrip用法
Python中的strip用于去除字符串的首尾字符串,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符. 这三个函数都可传入一个参数,指定要去除的首尾字符. 需要注意的是,传入的是 ...
- python 中 sorted() 和 list.sort() 的用法
今天用python自带的sorted对一个列表进行排序, 在这里总结一下 只要是可迭代对象都可以用sorted . sorted(itrearble, cmp=None, key=None, reve ...
- python中面向对象元类的自定义用法
面向对象中的常用方法 1.instance 和 issubclass instance :判断两个对象是不是一类 issubclass :判断某个类是不是另一个类的子类 #两个常用方法的使用 clas ...
- Python中的FTP通信模块ftplib的用法
Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件.FTP的工作流程及基本操作可参考协议RFC959. ftp登陆连接 from f ...
随机推荐
- HTML-HTML5+CSS3权威指南阅读(三、CSS3)
不同的浏览器(包括-moz-代表的Mozilla Firefox, -ms-代表的Microsoft Internet Explorer等)厂商在发布正式版本之前之前, 试验各自对CSS3新特性的实现 ...
- oracle 查询 函数练习2
/*以下代码是对emp表/dept表/salgrade表进行显示宽度设置 */col empno for 9999;col ename for a10;col job for a10;col mgr ...
- 特征组合&特征交叉
https://segmentfault.com/a/1190000014799038 https://www.jianshu.com/p/fc96675b6f8e https://blog.csdn ...
- myeclipse中配置schemaLocation路径,实现xml文件自动提示
在开发中,XML的xsi:schemaLocation路径都是指向网络,但是这个网络地址有时候很不给力导致工程检验XML格式缓慢.所以有必要再myeclipse中配置本地xsd文件路径,以免每次校验都 ...
- Atitit.js模块化 atiImport 的新特性javascript import
Atitit.js模块化 atiImport 的新特性javascript import 1. 常见的js import规范amd ,cmd ,umd1 1.1. Require更多流行3 2. at ...
- 利用jquery的contains实现搜索功能
/ jquery实现的搜索功能 $('#search_btn').on('click',function(){ var txt=$('#inputValue').val(); var value=$( ...
- java大数模板
java 大数计算 这几天做了几道用大数的题,发现java来做大数运算十分方便.对acmer来说是十分实用的 1.valueOf(parament); 将参数转换为制定的类型 比如 int a=3 ...
- 实现DIV居中的几种方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- linux学习笔记20--命令df和dh,fdisk
df和dh是用来查看磁盘空间使用情况的. linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命 ...
- c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段(转但是都是使用过)
DateTime dt = DateTime.Now; //当前时间 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 24小时制 Dat ...