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中是否存在异常,都会执行后面的语句

相关文章
相关标签/搜索