python的异常处理流程
2013-04-05 21:04
288 查看
python里面使用try-except-else-finally来处理异常,流程是:先处理try内的部分,有异常则进入except分支,否则进入else分支,但不管有无异常肯定会进入finally分支。这里结合以前java处理异常的流程,写了几个例子,做一个总结:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#test 1
def main():
try:
print "In try block"
raise "exception"
except:
print "In exception block"
else:
print "in else block"
finally:
print "In finally block"
if __name__ == "__main__":
main()
输出:
In try block
In exception block
In finally block
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#test 2
def main():
try:
print "In try block"
except:
print "In exception block"
else:
print "in else block"
finally:
print "In finally block"
if __name__ == "__main__":
main()
输出:
In try block
in else block
In finally block
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#test 3
def main():
try:
print "In try block"
return
except:
print "In exception block"
else:
print "in else block"
finally:
print "In finally block"
if __name__ == "__main__":
main()
输出:
In try block
In finally block
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
注意: 在情况3中,else分支的语句是不被执行的!!
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#test 1
def main():
try:
print "In try block"
raise "exception"
except:
print "In exception block"
else:
print "in else block"
finally:
print "In finally block"
if __name__ == "__main__":
main()
输出:
In try block
In exception block
In finally block
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#test 2
def main():
try:
print "In try block"
except:
print "In exception block"
else:
print "in else block"
finally:
print "In finally block"
if __name__ == "__main__":
main()
输出:
In try block
in else block
In finally block
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#test 3
def main():
try:
print "In try block"
return
except:
print "In exception block"
else:
print "in else block"
finally:
print "In finally block"
if __name__ == "__main__":
main()
输出:
In try block
In finally block
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
注意: 在情况3中,else分支的语句是不被执行的!!
相关文章推荐
- 【Python】Java程序员学习Python(六)— 流程控制、异常处理
- python异常处理流程
- Windows异常处理流程
- Python引发异常,raise()及异常处理
- Head First Python---------(一)第一章(初识Python__人人都爱列表)、第二章(共享你的代码__函数模块)、第三章(文件与异常__处理错误)
- 零基础入门学习Python(15):二进制存储 pickle 和异常处理
- Python异常处理学习笔记
- 磁盘挂载异常处理流程(5)
- python的异常处理
- Python开发基础-Day2-流程控制、数字和字符串处理
- python中的五种异常处理机制介绍
- Python宝典第七章:异常处理与程序调试
- Python异常处理的学习(1)
- python基础---异常处理
- python中的异常处理
- 【python技巧系列】在循环中处理异常并继续运行
- python Exception 异常处理
- python异常处理与程序调试
- python-异常处理、元类
- Scala 深入浅出实战经典 第2讲 Scala函数定义、流程控制、异常处理入门实战