【发布时间】:2016-10-26 19:16:50
【问题描述】:
我似乎无法让我的代码捕获错误:
我有一个包含数千个条目的 yaml 文件,其中一些条目被破坏,从而生成
"expected <block end>, but found %r" % token.id, token.start_mark) yaml.parser.ParserError: while parsing a block mapping
我在 python3 中使用 Pyyaml
with open('yamlfile') as yf:
allyml = yaml.load_all(yf)
for listing in allyml:
try:
<do stuff>
#except yaml.parser.ParserError:
except:
continue
捕捉 ParserError 不起作用,也只是一个例外。
它工作正常,直到它到达损坏的 yaml 条目。
由于 PYyaml 抛出 ParserError 它一定是我的 try 语句...
【问题讨论】:
-
try和except块应该在调用yaml.load_all的行周围。完成后,except yaml.parser.ParserError应该可以正常工作了。
标签: python-3.x exception pyyaml