异常基础
来源:互联网 发布:面板数据多重共线性 编辑:程序博客网 时间:2024/05/18 00:28
#-*-coding:utf-8-*-'''Created on 2015年11月22日@author: Zroad'''"""一、异常的用途1、错误处理,若忽略已发生的异常,默认处理是停止程序,打印出错信息。2、事件通知3、特殊情况处理:处理罕见的情况,省去编写应对特殊情况的代码4、终止行为:try/finally语句可确保一定会进行需要的结束运算。5、非常规控制流程:"""#二、默认的异常处理及捕获异常处理:def fetcher(obj,index): return obj[index]x = "spam""""默认异常处理:程序终止,打印出错信息IndexError: string index out of range"""#fetcher(x,4)"""捕获异常:1、try语句块中发生异常语句后的程序不会执行2、跳转执行捕获异常的程序代码3、异常捕获后,主程序恢复执行,运行 print "Program Restore!"运行结果:IndexError got!"""try: fetcher(x,4) print "Execute here!"except IndexError: print "IndexError got!"print "Program restore! "#三、主动引发异常:raise/asserttry: raise IndexError #使用raise语句主动引发异常,若未捕获则向上抛出异常except IndexError: print "IndexError got!""""关于assert引发异常:1、assert引发异常:是一个有条件的raise2、条件判断为False则引发异常 "AssertionError: Nobody catch the exception!"条件判断为True则不引发3、assert引发异常后,后面的程序不运行"""flag = 1assert flag == 1,"Nobody catch the exception!"print "AssertinError restore!"#四、用户自定义异常:class Bad(Exception): passdef doomed(): raise Bad() #也可以是raise Bad,raise后面是Exception类或是实例try: doomed()except Bad: print "Bad Exception got!"#五、终止行为:"""try: 。。。。except a: .....except b: .....finally: ....finally语句总会被执行"""def after(): try: fetcher(x,4) finally: print "after fetcher"after()print "after function execute!" #该语句不会运行
0 0
- 异常基础
- 异常基础
- 异常基础
- 【第十课】异常---异常基础
- java基础 ---异常处理
- Java异常基础一
- Java异常基础二
- Java异常基础
- C++基础之异常
- Java基础--异常
- java基础之异常
- java基础之异常
- 基础备忘:异常处理
- java基础--异常机制
- Java基础_异常
- java基础:异常
- JAVA基础 之 异常
- java基础之 异常
- 学习笔记15-OCFoundation框架(一)
- 从大数据菜鸟走上大师的历程 第三讲:Tuple Array Map
- android style举例
- 欢迎使用CSDN-markdown编辑器
- Android之自定义组件
- 异常基础
- 黑马程序员——冒泡排序、选择排序、二分查找的实例运用分析
- fastcgi_finish_request() 正确使用方式
- 文章标题
- Linux vim利用ctags进行自动补全的问题
- Xcode快捷键
- SurfaceFlinger启动过程分析(一)、(二)、(三)、(四)【转】
- 1002-排列组合
- Android4.4深入浅出之SurfaceFlinger总体结构