Python多异常执行同代码:为何逻辑OR无效?如何合并处理?
合并Python中同处理逻辑的多个异常
- 要把触发后执行相同代码的多个异常放一起处理,别用逻辑
or,直接把多个异常类型塞进元组,跟在except后面用逗号隔开就行。 - 修正后的代码:
except (FileNotFoundError, ValueError): with open("./file.json", "w") as f: json.dump(new_data, f, indent=4)
- 为啥之前的写法行不通?
- Python的异常语法不支持用
or连接异常类型,except只能跟单个异常类型,或者包含多个异常的元组。 - 合并之后,不管触发这两个异常里的哪一个,都会执行后面的代码,和分开写两个
except块效果完全一致,但代码更简洁。
- Python的异常语法不支持用
内容的提问来源于stack exchange,提问作者navalega0109
相关产品推荐
相关产品推荐

