`
runfeel
  • 浏览: 936110 次
文章分类
社区版块
存档分类
最新评论

python2.7 学习笔记 (四)——异常

 
阅读更多
声明:以下代码都是在Python2.7+Winxp中执行通过

[异常]
1.try语句的两种形式
形式1:
try:
<statement>
except<exceptname1>:#出现exceptname1的异常,执行以下语句
<statement>
except<exceptname2>:#出现exceptname2的异常,执行以下语句
<statement>
else: #一切正常,执行else语句
<statement>


形式2:
try:
<statement>
except: #不指定具体异常名,则捕获所有的异常
<statement>
finally: #不论异常发生与否,都会执行Finally
<statement>


#-*-coding:utf-8-*-
list = [1,2]
try:
list[3]
except IndexError: #捕获数组越界的错误
print "Out of index!"
else:
print "No Error!"


#-*-coding:utf-8-*-

list = [1,2]
try:
list[3] #下标越界error
except : #只要有error ,就会被执行
print "Error eccoured!"


else:
print "No error !"#没有error的时候会被执行

finally :
print "Finally will be invoked everytime" #不论有没有error,都会被执行


2.常用异常名
AttributeError 调用不存在的方法引发的异常
EOFError 遇到文件末尾引发的异常
ImportError 导入模块出错引发的异常
IndexError 列表越界引发的异常
IOError I/O 操作引发的异常,如打开文件等
KeyError 使用字典中不存在的关键字
NameError 使用不存在的变量名
TabError 语句块缩进不正常
ValueError 搜索List中不存在的值引发的异常
ZeroDivisionError 除数为零


3.raise引发异常
#-*-coding:utf-8-*-
#主动raise异常
try:
raise myError #主动调用一个异常
except myError: #自定义异常
print "My own excepiton!"
else:
print "No Error!"



#-*-coding:utf-8-*-
#自定义Exception,主动raise 异常
class myException(Exception): #继承Exception类
def __init__(self,errmsg):#初始化,可以接收参数data
self.errmsg=errmsg

def __str__(self): #重载__str__方法
return "error occured ,msg is :"+self.errmsg


try:
raise myException,"error msg" #主动调用一个异常
except myException,errmsg: #自定义异常
print str(errmsg) #这个方法会调用__str__方法,输出error occured ,msg is :error msg
else:
print "No Error!"


4.使用pdb模块进行调试
run(statement[,globalse[,locals]])
statement:要调试的语句块
globals:可选参数,设置statement运行的全局环境变量
locals:可选参数,设置statement运行的局部环境变量

本人使用eclipse+pydev进行开发调试,这个……还是略了,不喜欢这种调试方式

另外,也可以使用pythonWin 进行开发调试


15:09 2012-3-15



分享到:
评论

相关推荐

    Python 学习笔记 第二版.pdf

    "Python学习笔记第二版"是一本专门针对Python编程的教程,旨在帮助读者理解Python的基本编码操作,适用于初学者和有一定基础的学习者进行日常复习。这本书的作者鼓励读者结合其他深入源码分析的书籍,比如《蟒原——...

    CS231n课程笔记——Nearest Neighbor分类器 示例代码相关文件

    总的来说,CS231n的这个笔记和代码示例旨在帮助我们理解最近邻分类器的工作原理,以及如何在Python 2.7环境中实现这一算法。通过这种方式,我们可以直观地看到机器学习中简单的实例驱动方法如何应用于图像分类问题。

    notes-python:中文Python笔记

    基于本笔记的实体书:《自学Python——编程基础,科学计算及数据分析》已经出版。京东自营链接: ://item.jd.com/12328920.html天猫,亚马逊,当当共有销售。打赏一下意思是什么?简介大部分内容来自网络。默认安装...

    Anaconda2-4.0.0-Windows-x86_64.rar

    8. **Spyder**:Anaconda还提供了一个强大的Python IDE——Spyder,它具有代码编辑、调试、性能分析等功能,特别适合科学计算和数据分析。 9. **持续更新**:虽然这个版本是4.0.0,但Anaconda已经经历了多次更新,...

    Syclover密码学入门1

    推荐初学者使用Python 2.7版本,如廖雪峰的在线教程,进行系统学习。编程时,需避免浮躁,通过动手实践来检验理解的准确性,避免仅凭直觉判断代码无误。 【环境配置与IDE】 对于Python编程,推荐使用Visual Studio ...

    sphinx中文语音训练手册

    因此sphinx需要学习说话人的“口音”。 如果训练时的读者发音比较标准,则sphinx能“举一反三”,识别其他不那么标准的读者的语音。 推荐的做法是训练一些典型的口音:标准男、女声,童音,最后再考虑特定用户的口音...

    HowToDoResearch - How to do Research at the MIT AI Lab的续篇

    或者认为研究项目就像家庭作业一样——导师会分配已经明确界定的问题,并提供解决问题所需的工具。本文档旨在帮助澄清这些误解,并引导学生们正确地起步。 #### 2. 个人与职业原则 ##### 2.1 动机与目标 明确研究...

Global site tag (gtag.js) - Google Analytics