一、概念
异常:
常见的异常语句:
1. try except else
2. try finally
3. raise
4. assert
5. with as
二、else的作用
首先,了解一下exception和else在作用:
except:捕获try中的异常项,如IndexException, SyntaxError等,即异常处理器;
else:在try中不存在任何异常时,才会执行else中的语句;
这里,我想到了两个问题:1、else使用的时机是什么?2、存在与不存在else有什么区别?
示例1:
def fetcher(obj, index):
return obj[index]
x = ‘spam‘
try:
print fetcher(x, 3)
except Exception:
print ‘hhh‘
else:
print ‘has no exception‘
print fetcher(x, 2)
print ‘---‘ * 10
try:
print fetcher(x, 4)
except IndexError:
print ‘got exception‘
else:
print ‘has no exception‘
print fetcher(x, 2)
运行结果:
m
has no exception
a
------------------------------
got exception
从上面的结果中可以看出,但try中存在异常时,不会执行else中的语句。这样,我们可以发现,如果在前面的语句发生异常时,后面的语句不需要继续执行下去,则可以放到else中
示例2:
def fetcher(obj, index):
return obj[index]
x = ‘spam‘
try:
print fetcher(x, 3)
except Exception:
print ‘hhh‘
else:
print ‘has no exception‘
print fetcher(x, 2)
print ‘---‘ * 10
try:
print fetcher(x, 4)
except IndexError:
print ‘got exception‘
else:
print ‘has no exception‘
print fetcher(x, 2)
结果为:
m
has no exception
a
------------------------------
got exception
a
从上面的结果中可以得出,如果没有else将其他代码在except的后面,不管try中是否存在异常,都会执行后面的语句
原文地址:http://www.cnblogs.com/rolly-yan/p/6625289.html