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中是否存在異常,都會執行後面的語句