python 异常处理不带 except 为什么会报错?
题目:字符出现的最后一个位置,下面代码需要输出:cbda
这个题目我的疑问是:remove不存在的元素自然是会报错,用上try和finally,还是报错,带上except就不会报错,try和finally不能这样用吗?
x = "abcbda"a = list(x)[1:]
print(a)
y = list(x)[0:1]
print(y)
for b in a[:]:
print(b)
try:
y.remove(b)
#except就不会报错, Exception:
# print()
finally:
y.append(b)
print(y)
回答:
如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
finally:是无论是否发生异常都会执行。
回答:
可以这样用,你的错不是语法错,是运行时错。
你确实抛出了一个 exception 没有处理,当然会报错。finally 并不处理错误,也不会忽略错误。
以上是 python 异常处理不带 except 为什么会报错? 的全部内容, 来源链接: utcz.com/p/938658.html