异常捕获

def testTry(index,flag=False):
	stulst=["John","Jenny","Tom"]
	if flag:
		try:
			astu=stulst[index]
		except IndexError:
			print("IndexError")
		return 'Try Test Finished!'
	else:
		astu=stulst[index]
		return 'No try test Finished'
print('Right params testing start.........')
print(testTry(1,True))
print(testTry(1))
print("Error params testing start......")
print(testTry(4,True))
print(testTry(4))

运行结果:

Right params testing start.........
Traceback (most recent call last):
Try Test Finished!
No try test Finished
Error params testing start......
IndexError
Try Test Finished!
  File "E:\cla.py", line 17, in <module>
    print(testTry(4))
  File "E:\cla.py", line 10, in testTry
    astu=stulst[index]
IndexError: list index out of range
[Finished in 0.2s]

另一个例子:

def testTryFinally(index):  #此处函数内没有self参数,因为不是类中的函数
	stulst=['John','Jenny','Tom']
	af=open('my.txt','wt+')
	try:
		af.write(stulst(index))
	except:
		pass
	finally:   #无论是否出现异常,finally下的语句都会执行
		af.close()
		print("File already had been closed!")
print('NO indexError....')
testTryFinally(1)
print('INdexError.......')
testTryFinally(4)

运行结果:

NO indexError....
File already had been closed!
INdexError.......
File already had been closed!
[Finished in 0.8s]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值