声明:以下代码都是在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 2.7 + QT4 Python 2.7 + QT4 Python 2.7 + QT4 Python 2.7 + QT4 Python 2.7 + QT4 Python 2.7 + QT4 Python 2.7 + QT4 Python 2.7 + QT4 Python 2.7 + QT4 Python 2.7 + QT4 Python 2.7 + QT4 Python 2.7 + ...
Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...
Python2.7学习文档
sudo cp -r /home/sukai/python-pkg/tornado/lib64/python2.7/site-packages/tornado /usr/lib/python2.7/dist-packages sudo cp -r /home/sukai/python-pkg/tornado/lib64/python2.7/site-packages/tornado-4.4.2-...
apscheduler2.0 支持python 2.7 定时任务
python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf ...
python2.7 flask离线安装
python2.7 windows版zip文件,解压缩即可。
python2.7 解压直接用
win64 python2.7+numpy+scipy+matplotlib64-exe
这个PDF用于进行python内容学习 ,主要针对的python版本是2.7
python2.7版本的pywin32安装程序64位版本的,这个我用过,一步一步安装下去就可以了,里面还有python3.2版本的
Python2.7_MACOS_64位&32位MacOS系统安装包Python2.7_MACOS_64位&32位MacOS系统安装包Python2.7_MacOS(Python2.7_MacOS系统32位+64位)
廖雪峰Python2.7书签目录完整版,纯手工编辑的书签
Mac OS 系统 Python2.7 安装PyInstaller 安装包。 解压以后,输入指令即可完成安装 包含安装指令
Ubuntu下Python2.7及DockerY一键安装的deb离线包 把文件解压到Ubuntu离线环境上,cd到文件目录,执行dpkg -i * 就可以了
win32位,python2.7配套系列:python2.7+numpy+matplotlib安装包
1.安装对应的库 2.将test_http_copy.py代码复制到自己的服务器或电脑上 3.python test_http_copy.py启动或(ohup python -u test_http_copy.py > test.log 2>&1 & 后台启动) 4.使用postman调用自测。
64位python,亲测windows7下 可用
lxml python2.7离线安装包