Python-try except else finally有return时执行顺序探究
学习python或者其他有异常控制的 编程 语 言, 大家很有可能说try except finally(try catch finally)的执行很简单,无非就是有异常的话执行except, finally无论是否有异常都会执行, 大致上原则是这样, 但是如果涉及到更加详细的复杂的路径,加上return 语句,就没有那么简单了。 1. 没有return 语句的情况 print 'this is a test of code path in try...except...else...finally' print '************************************************************' def exceptTest(): try: print 'doing some work, and maybe exception will be raised' raise IndexError('index error') #print 'after exception raise' #return 0 except KeyError, e: print 'in KeyError except' print e #return 1 except IndexError, e: print 'in IndexError except' print