python中异常捕获方法详解


Posted in Python onMarch 03, 2017

在Python中处理异常使用的是try-except代码块,try-except代码块放入让python执行的操作,同时告诉python程序如果发生了异常该怎么办,try-except这个功能其实很多入门书籍中都放到了高级篇幅里,在入门的时候一般不会讲这个使用,尤其是作为运维人员,如果你经常写shell,转到python后估计也很少使用这个功能,这功能我觉得说明了shell和python的一个重要区别,因为python是一门真正的编程语言,像其它的编程语言php,java等都会提供异常捕获功能,用这些程序写出的代码是要健壮性的,如果你阅读一些其他人写的程序代码,尤其是一些socket编程方面的代码,很多都是try…except…,有的还except好多个,来判断各种各样的情况,既然这个功能这么有用,我们就来尽快了解下看如何使用的吧。

第一我们先看看它的语法,语法很简单,就是在try-except中放入你想要执行的代码块,例如:、

try:
  somecode1
except 异常类型/名称:
  somecode2

这是最简单的一种情况,如果情况复杂可以使用多个except句子,例如:

try:
  somecode0
except 异常类型/名称1:
  somecode1
except 异常2:
  somecode2
except 异常3:
  somecode3

try-except还有更高级的用法,加入else,finally等,今天我们不展开说了有兴趣的可以自己深入研究下。

接下来我们来看一个简单例子,读写文件我们经常的操作,一个常见的问题就是找不到文件,或者文件名称,路径不正确,对这种情况,你就可以采用try-except代码块直观的方式来处理了:

try:
  withopen(filename, 'r+') as fp:
    data = fp.read()
exceptIOError:
  msg = 'sorry, can not read or write this ' + filename
  printmsg

我们再看一个多except的例子,2个数字相减:

loop = 1
while loop == 1:
  try:
    a = input('请输入第一个数字> ')
    b = input('请输入第二个数字 > ')
  exceptNameError:
    print "请输入数字,不能输入字母"
 continue
  exceptSyntaxError:
    print "请仅输入一个数字."
 continue
  print a - b
  try:
    loop = input('按1再开始 > ')
  except (NameError,SyntaxError):
    loop = 0

以上二个例子就是最简单的try-except的用法了,如果想要保证脚本的健壮性,后续可多用try-except代码块吧,这会让你的代码看起来更专业。

Python 相关文章推荐
python解析文件示例
Jan 23 Python
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
Python读取ini文件、操作mysql、发送邮件实例
Jan 01 Python
使用Django的模版来配合字符串翻译工作
Jul 27 Python
Python实现替换文件中指定内容的方法
Mar 19 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
浅析python中的迭代与迭代对象
Oct 08 Python
对Python发送带header的http请求方法详解
Jan 02 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 Python
python对输出的奇数偶数排序实例代码
Dec 04 Python
python中print格式化输出的问题
Apr 16 Python
python利用不到一百行代码实现一个小siri
Mar 02 #Python
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 #Python
Python正则表达式教程之二:捕获篇
Mar 02 #Python
Python正则表达式教程之一:基础篇
Mar 02 #Python
Python单例模式实例详解
Mar 01 #Python
python实现字典(dict)和字符串(string)的相互转换方法
Mar 01 #Python
python 截取 取出一部分的字符串方法
Mar 01 #Python
You might like
在“咖啡之国”感受咖啡文化
2021/03/03 咖啡文化
PHP5 的对象赋值机制介绍
2011/08/02 PHP
PHP应用JSON技巧讲解
2013/02/03 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
WordPress中"无法将上传的文件移动至"错误的解决方法
2015/07/01 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
详解使用php调用微信接口上传永久素材
2017/04/11 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
文档对象模型DOM通俗讲解
2013/11/01 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
详解js中let与var声明变量的区别
2020/04/05 Javascript
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
Python3中多线程编程的队列运作示例
2015/04/16 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
python实现Flappy Bird源码
2018/12/24 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
互动出版网:专业书籍
2017/03/21 全球购物
初中毕业典礼演讲稿
2014/09/09 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
2015年老干部工作总结
2015/04/23 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书