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 相关文章推荐
wxPython 入门教程
Oct 07 Python
Python开发WebService系列教程之REST,web.py,eurasia,Django
Jun 30 Python
Python六大开源框架对比
Oct 19 Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 Python
Centos 升级到python3后pip 无法使用的解决方法
Jun 12 Python
flask框架使用orm连接数据库的方法示例
Jul 16 Python
利用python脚本如何简化jar操作命令
Feb 24 Python
使用python和pygame制作挡板弹球游戏
Dec 03 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 Python
Python Dict找出value大于某值或key大于某值的所有项方式
Jun 05 Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 Python
详解python中GPU版本的opencv常用方法介绍
Jul 24 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
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
超越Jquery_01_isPlainObject分析与重构
2010/10/20 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
package.json文件配置详解
2017/06/15 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
Python中处理字符串之islower()方法的使用简介
2015/05/19 Python
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
python利用tkinter实现屏保
2019/07/30 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
Python插件机制实现详解
2020/05/04 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
个人求职简历中英文自我评价
2013/12/16 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
2014学年自我鉴定
2014/02/23 职场文书
2014年度思想工作总结
2014/11/27 职场文书
介绍信的格式
2015/01/30 职场文书
海上钢琴师观后感
2015/06/03 职场文书
2015年评职称个人工作总结
2015/10/15 职场文书
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL
React更新渲染原理深入分析
2022/12/24 Javascript
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技