1.try/except/else
try:
<statements>
except <name1>:
<statements>
except (name1,name2): #捕获所列出的任何异常
<statement>
except <name> as name3:
...
except: #捕获所有的异常
...
else: #没有发生异常就运行
...
except分句会捕获try代码块执行时所发生的任何异常。else子句只是在try代码块没有发生异常时执行,控制权会在整个try语句下继续
2.try/finally
如果try语句没有发生异常,python会执行finally代码块,然后在整个try语句后继续执行下去;如果try语句发生了异
常,python依然会执行finally代码块,但是会把异常向上传递到较高的try语句或者顶层的异常处理器。程序不会再try语句后继续执行
3.混合try语句
try--->exception--->else----->finally
4.raise
rasie class
raise instance
class MyExc(Exception): pass
try:
raise MyExc("spam")
except MyExc as X:
print X.args
>>>('spam',)不管如何指定异常,异常总是通过实例对象来识别。一旦一个异常有except捕获,它就死掉了
5.assert
assert几乎都是用来收集用户定义的约束条件,而不是捕捉内在的程序设计错误
6.with/as
with open('text.txt') as myfile:
for line in myfile:
print line无论with代码块是否引发异常,文件都会在with代码块执行完之后,自动关闭
本文详细介绍了Python中try/except/else/finally等关键字的使用方法,包括异常捕获、finally语句块的应用、混合try语句的流程控制以及raise和assert语句的作用。此外还讲解了with/as语句在资源管理中的应用。
751

被折叠的 条评论
为什么被折叠?



