【发布时间】:2021-10-28 09:47:02
【问题描述】:
我有将 XML 解析为 JSON 的 Python 代码。虽然它可以正常工作,但我希望通过引发一些异常来使其更加健壮。这是我当前的代码:
result['answer'].append({
'multiplier': int(element.findall(r'Multiplier')[0].text), # This is an int
'enabled': bool(element.attrib['enabled']), # This is bool
'symbols': sym
})
在上面的代码中,我想提出:如果我们无法将 element.attrib['enabled'] 解析为 bool,则为 XMLBooleanParsingError();如果我们无法解析第 2 行,我想提出 XMLIntegerParsingError()。
我尝试了多种方法,例如:
result['answer'].append({
'multiplier': int(element.findall(r'Multiplier')[0].text), # This is an int
try:
'enabled': bool(element.attrib['enabled'])
except:
raise XMLBooleanParsingError()
'symbols': sym
})
但我遇到了错误。我想在将结果存储在 JSON 中时捕获异常。有哪些方法可以遵循?
【问题讨论】:
-
Re “我遇到错误”:但不是因为评论字符的小问题?是在原始代码中吗?
标签: python python-3.x exception