python学习笔记-(17)python中的异常
2015-03-24 14:28
211 查看
用过java的朋友都知道,在实际项目开发中,异常处理是很常见的,通过异常处理,可以更加快速方便的找到bug的位置。
1. 异常的处理
先来看个有异常的例子:
说明:很明显,由于文件只有三行,当循环到第4次时,f.next()不会继续返回元素,因此,会报出StopIteration异常,从而使程序中断。
我们现在修改下上面的例子:
说明:在try程序段中,应放入可能出异常的代码,注意,except块是可有多个,表明若在try部分的代码中出现StopIteration,程序执行except内部的代码。若无StopIteration异常,该except快跳过,继续向下执行。
通用异常块的例子:
说明:若try块中出现异常,寻找是否为Exception1或Exception2,如果匹配则执行相应的except块中的代码,若没有相应匹配的异常,将执行except: 块的代码。若try无异常,将跳过所有的except,去执行else内部的语句。有无异常,Finally块内容均执行。
此外,若异常处理块代码在一个函数内部且不能处理发生的异常,则将异常抛给调用函数者,让其处理。
2. 异常的抛出
先看一个例子:
raise StopIteration
说明:raise在python中是一个关键字,用来抛出指定的异常,在抛出时,会生成一个相应的异常对象,这里的异常对象为StopIteration。
1. 异常的处理
先来看个有异常的例子:
// 1.txt文件中有三行内容 f = open(1.txt) for I in range(4): print f.next()
说明:很明显,由于文件只有三行,当循环到第4次时,f.next()不会继续返回元素,因此,会报出StopIteration异常,从而使程序中断。
我们现在修改下上面的例子:
f = open(1.txt) try: for i in range(4): print f.next() except StopIteration: print “error in here”
说明:在try程序段中,应放入可能出异常的代码,注意,except块是可有多个,表明若在try部分的代码中出现StopIteration,程序执行except内部的代码。若无StopIteration异常,该except快跳过,继续向下执行。
通用异常块的例子:
try: print …… except exception1: print …… except exception2: print …… except: print …… else: print …… finally: print ……
说明:若try块中出现异常,寻找是否为Exception1或Exception2,如果匹配则执行相应的except块中的代码,若没有相应匹配的异常,将执行except: 块的代码。若try无异常,将跳过所有的except,去执行else内部的语句。有无异常,Finally块内容均执行。
此外,若异常处理块代码在一个函数内部且不能处理发生的异常,则将异常抛给调用函数者,让其处理。
2. 异常的抛出
先看一个例子:
raise StopIteration
说明:raise在python中是一个关键字,用来抛出指定的异常,在抛出时,会生成一个相应的异常对象,这里的异常对象为StopIteration。
相关文章推荐
- Python学习笔记012_网络_异常
- python错误和异常学习笔记
- Python学习笔记6-异常捕获取
- Python学习17:异常处理(三)自定义异常类
- python学习笔记17-常用函数总结整理
- Python 学习笔记 (3)—— python异常处理
- python 学习笔记8-----异常
- python学习笔记——异常
- <<Python基础教程>>学习笔记 | 第08章 | 异常
- Python异常学习笔记
- Python3.3 学习笔记5 - 异常处理
- Python学习笔记之错误处理(关键词:错误处理、异常机制、try、except、else、finally、raise)
- Python 【异常】 学习笔记
- Python学习笔记(10):异常
- python3.4学习笔记(二) 类型判断,异常处理,终止程序
- Python学习笔记(4)--异常处理
- python基础教程_学习笔记17:标准库:一些最爱——time
- 【Python】学习笔记——-17、网络编程
- python学习笔记014——错误和异常