1、概念 python
异常:fetch
常见的异常语句:spa
1. try except else 2. try finally 3. raise 4. assert 5. with as
2、else的做用blog
首先,了解一下exception和else在做用:it
except:捕获try中的异常项,如IndexException, SyntaxError等,即异常处理器;io
else:在try中不存在任何异常时,才会执行else中的语句;class
这里,我想到了两个问题:一、else使用的时机是什么?二、存在与不存在else有什么区别?exception
示例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中是否存在异常,都会执行后面的语句