Python异常处理操作实例详解


Posted in Python onMay 10, 2018

本文实例讲述了Python异常处理操作。分享给大家供大家参考,具体如下:

一、异常处理的引入

>>>whileTrue:
try:
x = int(input("Please enter a number: "))
break
exceptValueError:
print("Oops! That was no valid number. Try again ")
Please enter a number: y
Oops!That was no valid number.Try again
Please enter a number:1.3
Oops!That was no valid number.Try again
Please enter a number:5

二、try语句工作方式

1、执行try子句(在关键字try和关键字except之间的语句)

2、如果没有异常发生,忽略except子句,try子句执行后结束。

3、如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。最后执行 try 语句之后的代码。

4、如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。

5、一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。

6、处理程序将只针对对应的try子句中的异常进行处理。

7、一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如:

except (RuntimeError, TypeError, NameError):
    pass

8、最后一个except子句可以忽略异常的名称,它将被当作通配符使用。你可以使用这种方法打印一个错误信息,然后再次把异常抛出。

>>>import os
>>>try:
f = open('myfile.txt')
s = f.readline()
i = int(s.strip())
exceptOSErroras err:
print("OS error: {0}".format(err))
exceptValueError:
print("Could not convert data to an integer.")
except:
print("Unexpected error:", sys.exc_info()[0])
raise
OS error:[Errno2]No such file or directory:'myfile.txt'

三、else子句

try except 语句还有一个可选的else子句,如果使用这个子句,那么必须放在所有的except子句之后。这个子句将在try子句没有发生任何异常的时候执行。

>>>try:
f = open('a.txt','r')
exceptIOError:
print('cannot open')
except:
print('other ERR')
else:
print('file close')
f.close()
cannot open

使用 else 子句比把所有的语句都放在 try 子句里面要好,这样可以避免一些意想不到的、而except又没有捕获的异常。

四、异常处理try中函数

异常处理并不仅仅处理那些直接发生在try子句中的异常,而且还能处理子句中调用的函数(甚至间接调用的函数)里抛出的异常。

>>>def this_fails():
x =1/0
>>>try:
this_fails()
exceptZeroDivisionErroras err:
print('Handling run-time error:', err)
Handling run-time error: division by zero

更多Python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》、《Python字符串操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python解决字典中的值是列表问题的方法
Mar 04 Python
Python实现登录接口的示例代码
Jul 21 Python
Python实现的朴素贝叶斯分类器示例
Jan 06 Python
python抓取文件夹的所有文件
Feb 27 Python
儿童python练习实例
May 27 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Python、 Pycharm、Django安装详细教程(图文)
Apr 12 Python
python将excel转换为csv的代码方法总结
Jul 03 Python
python 函数的缺省参数使用注意事项分析
Sep 17 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
pandas数据分组groupby()和统计函数agg()的使用
Mar 04 Python
python绘图subplots函数使用模板的示例代码
Apr 30 Python
解决python3 网络请求路径包含中文的问题
May 10 #Python
Python之文字转图片方法
May 10 #Python
Python实现查看系统启动项功能示例
May 10 #Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
May 10 #Python
Python实现修改IE注册表功能示例
May 10 #Python
Python图像处理之识别图像中的文字(实例讲解)
May 10 #Python
python 识别图片中的文字信息方法
May 10 #Python
You might like
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
Jquery判断$("#id")获取的对象是否存在的方法
2013/09/25 Javascript
百度判断手机终端并自动跳转js代码及使用实例
2014/06/11 Javascript
jQuery聚合函数实例
2015/05/21 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
2016/12/23 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
纯js实现画一棵树的示例
2017/09/05 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
Vue实现图片与文字混输效果
2019/12/04 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
浅谈Python爬取网页的编码处理
2016/11/04 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
让Django的BooleanField支持字符串形式的输入方式
2020/05/20 Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
2020/07/01 Python
详解Python 循环嵌套
2020/07/09 Python
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
告诉你怎样写创业计划书
2014/01/27 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书