python異常中的else做用

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

相關文章
相關標籤/搜索