try:
1/0
except:
print 'something wrong happened..'
finally:
print 'it seems i cannot be with except'
除非是我对《python基础教程》上面这句话理解有问题,这段代码运行完全没有问题,求解惑。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
可以肯定的回答能一起使用
先看下else的使用:
只有在try中没有发生任何异常,所有代码完全成功的情况下才会转入else
再看下finally:
finally是无论是否捕捉到异常都会执行的一句,finally 可以单独和try搭配,也可以和except,包括else一起配合使用
执行顺序可能为A-B-D或A-C-D finally 单独和try连用时,
不是用来捕捉异常,常常是用来维持一致的行为。
当try范围中产生一个异常时,会立即跳转到finally,finally执行完毕后,
会继续向上一层引发异常
参考:python 核心编程
这本书对应的python版本太老了。py2.4以前是不能一起用的,2.5+就可以了。
这种老的不更新的书跟《pE INTO PYTHON》一样,能不看就别看了,入门推荐《a byte of python》。
简单理解就是无论try里的语句是否发生异常,最后都会去执行一遍finaly里面的内容。