yanpeace 2022-08-30 19:08 采纳率: 0%
浏览 12

怎么捕获xmltodict.parse() xml文件时的错误不闪退

我需要在构建ui界面的同时,xmltodict.parse() xml文件。如果xml文件出现语法错误,ui界面就闪退了。我的需求是,截获这个语法错误信息,谈对话框,提醒发生错误。请问怎么截获这个错误信号呢?
问题相关代码,请勿粘贴截图
    with open(xml_file, 'rb') as xf:
        xdict = xmltodict.parse(xf)
        try:
            top = xdict ['top']                
        except MetaXmlError:
            ok = False
            traceback.print_exc()
        except Exception  as e:
            traceback.print_exc()
            ok = False
运行结果及报错内容

如果xml文件出现语法错误,ui界面就闪退了
File "c:python3\lib\site-packages\xmltodict.py", line 325, in parse
parser.ParseFile(xml)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 31, column 12

我的解答思路和尝试过的方法

通过“except Exception as e:”截获错误信息。也不行。

我想要达到的结果

我的需求是:ui不闪退,截获这个语法错误信息,弹出报错对话框,提醒发生错误。

  • 写回答

1条回答 默认 最新

  • 灯塔@kuaidao 2022-09-01 09:41
    关注

    不能try catch 吗?

    评论

报告相同问题?

问题事件

  • 创建了问题 8月30日