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]