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)
回复
1个回答

test
2024-07-16
如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
finally:是无论是否发生异常都会执行。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容