raise语句和assert语句用于主动触发异常。前者拥有偷天换日的特异功能,还可以实现异常链;后者只能引发AssertionError异常,通常用于代码调试,及时止损。
本节最后讲了如何利用异常来实现goto,指哪打哪,例如一下跳出多层嵌套循环,另辟蹊径,简单快捷!由此可见,办法总比困难多,正所谓:“没有办法,我们就创造办法;无路可退,我们就修桥铺路!” raise-from
自爆异常!注意它不可以生成不存在的异常。
raise ValueError("我说我有错!")
>>>
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
raise ValueError("我说我有错!")
ValueError: 我说我有错!
python默认是不可以一次性跳出多个循环的,我们可以利用异常来实现这个需求:
try:
while True:
while True:
for i inrange(10):
if i > 3:
raise
print(i)
print("被跳过~")
print("被跳过~")
print("被跳过~")
except:
print("我一下子就出来啦!")
>>>
0
1
2
3
我一下子就出来啦! 滴滴滴~打卡!{:10_298:}
Learning...{:10_279:} fishcyou 发表于 2022-5-7 12:47
raise-from
自爆异常!注意它不可以生成不存在的异常。
牛的牛的{:10_254:} 打卡 打卡
页:
[1]