博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中异常处理之esle,except,else
阅读量:4514 次
发布时间:2019-06-08

本文共 1429 字,大约阅读时间需要 4 分钟。

异常是指程序中的例外,违例情况。异常机制是指程序出现错误后,程序的处理方法。当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理。

python中使用try...except语句捕获异常,异常子句定义在try子句后面。try子句中的代码块放置可能出现异常的语句,except子句中的代码块处理异常,加上else和return语句,便可用来判断某段代码是否正常运行,将结果返回。

举个栗子:

try:     file("hello.txt", "r")                  #如果文件不存在,引发异常     print "读文件"except IOError:                              #捕获IO异常     print "文件不存在"except:                                     #其它异常     print "程序异常"

try也可加上finally语句,finally语句表示无论结果是什么,都执行此语句。栗子:

try:     f = open("hello.txt", "r")     try:          print f.read(5)     except:          print "读文件异常"     finally:          print "释放资源"          f.close()except IOError:     print "文件不存在"

举个实际中使用的例子吧,程序中要求用户input字符串,字符串是一个嵌套的字典,通过json解读字符串并从中取值。所以,如果不符合要求的字符串在处理过程中就会报错导致中断,那就需要牛掰的try...except...else选手出场了,下面的代码:

#定义确认用户输入格式是否为ha配置文件所需格式函数def enter_query(add_contect_str):    """    :param add_contect_str: 用户选择修改配置文件后,输入的格式必须为字典    :return: Flase=用户输入格式不正确  True=用户输入格式正确    """    try:    #尝试将用户输入字符串转化为列表,并给变量赋值        add_contect=json.loads(add_contect_str)        search_info=add_contect['backend']        weight=add_contect['record']['weight']        server=add_contect['record']['server']        maxconn=add_contect['record']['maxconn']    except: #如果异常,return 值为False        return False    else:   #如果无报错,return 值为False        return True

这样一个函数,把return值传给后面的代码,即使输入格式错误,直接print("格式错误")提示用户就行啦,从而避免了程序中断。

转载于:https://www.cnblogs.com/ccorz/p/5522330.html

你可能感兴趣的文章
原型以及原型链的学习随笔
查看>>
2-3树
查看>>
OSI模型图文说明
查看>>
电池充电方案总结
查看>>
mysql 存储过程
查看>>
php调用拼多多的接口
查看>>
css兼容问题
查看>>
android中倒计时控件CountDownTimer分析
查看>>
数字根问题
查看>>
QObject类 moc处理后代码
查看>>
数组中重复的数字
查看>>
失物招领平台1
查看>>
tp5 mkdir(): Permission denied 问题
查看>>
halcon算子
查看>>
tornado SQLAlchemy
查看>>
台湾拼音对照表
查看>>
Android 缓存目录 Context.getExternalFilesDir()和Context.getExternalCacheDir()方法
查看>>
第2节 mapreduce深入学习:15、reduce端的join算法的实现
查看>>
1029 C语言文法定义与C程序的推导过程
查看>>
Java中的自动拆箱装箱(Autoboxing&Unboxing)
查看>>