四周三次课(11月8日) 9.1 异常的常用形式和处理 9.2 Excepthion异常类 9.3 raise关键字的使用
来源:互联网 发布:网络兼职客服招聘 编辑:程序博客网 时间:2024/05/20 15:37
四周三次课(11月8日)
9.1 异常的常用形式和处理
异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
try: 正常的操作 ......................except: 若try执行的语句发生异常,执行这块代码,否则不执行 ......................else: 如果没有异常执行这块代码finally: 不管如何,最后一定要执行的代码
举个例子:
try: 10/0except Exception as e: print 'aaaaaaa', e # raise eelse: print('ok')finally:print('finally')结果:aaaaaaa integer division or modulo by zerofinally解释:10/0捕获到这个异常,直接打印aaaaaaa和异常信息,最后打印finally。try: 10/2except Exception as e: print 'aaaaaaa', e # raise eelse: print('ok')finally: print('finally')结果:okfinally解释:没有捕获到异常,直接走else,最后还是需要走finally,不管有没有捕获异常finally是最后都需要执行的。
9.2 Excepthion异常类
Excepthion是所有的异常基础类(),对于python的标准异常,我们列出如下,以做参考:
9.3 raise关键字的使用
raise用来触发异常,
语法如下:
raise [Exception [, args [, traceback]]]
语句中Exception是异常的类型(例如,NameError)参数是一个异常参数值。该参数是可选的,如果不提供,异常的参数是”None”。
最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。
try: 10/0except Exception as e: print 'aaaaaaa', e raise eelse: print('ok')finally: print('finally')print('hello world')结果:aaaaaaa integer division or modulo by zeroTraceback (most recent call last):finally File "E:/test/test.py", line 11, in <module> raise eZeroDivisionError: integer division or modulo by zero
解释:
raise关键字就是捕获到异常,并抛出,执行finally语句,同时程序运行终止。所以finally被打印出。而hello world没有。
阅读全文
0 0
- 四周三次课(11月8日) 9.1 异常的常用形式和处理 9.2 Excepthion异常类 9.3 raise关键字的使用
- python中异常处理--raise的使用
- 四周一次课(11月6日) 8.1 类的一般形式 8.2 python构造器 8.3 类的继承
- PHP5的异常处理机制[8]--使用throw关键字
- (Python)异常处理try...except、raise
- (Python)异常处理try...except、raise
- (Python)异常处理try...except、raise
- 异常处理try...except、raise
- Java 异常处理的捕获形式
- Python raise 抛出异常的说明
- python 引发异常 raise()及异常处理
- python自定义异常和主动抛出异常(raise)
- 异常处理的使用:
- 异常处理和常用类
- PHP5的异常处理机制[7]--使用throw关键字
- C++中的异常捕获与处理:Try、Throw、Catch关键字的理解和使用
- 异常的形式、自定义异常、throw和throws的区别
- Java异常处理、异常处理使用的一些注意点(例如,基类和子类捕获的顺序问题)
- Padding oracle attack!
- 文章标题
- C和指针之实现可变参数函数编译出现expanded from macro 'va_arg' #define va_arg(ap, type) 解决办法
- HTTP协议详解
- 并查集 hdu1213 How Many Table 图论500题
- 四周三次课(11月8日) 9.1 异常的常用形式和处理 9.2 Excepthion异常类 9.3 raise关键字的使用
- 微信红包拆红包效果
- Spring MVC自定义类型转换器
- 并查集 hdu 1272 小希的迷宫 图论500题
- C和指针之函数之实现简单的printf函数(支持%d, %f, %c, %s)
- 几段代码让你彻底搞懂编码出现乱码问题(File类的几个读写文本问题)
- keepalived+nginx实现主备高可用
- 如何快速转发csdn博客?
- Android高效加载大图、多图解决方案,有效避免程序OOM