gpt4 book ai didi

python - 如何捕获 python 中的非 fatal error

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:43 33 4
gpt4 key购买 nike

我正在使用 tinycss2 中的 parse_declaration_list 函数它解析 css。当我给它无效的 css 时,它返回 [< ParseError invalid>]。然而,我一生都无法弄清楚如何真正捕获这个错误。

我已经尝试过:

try:
parse_declaration_list(arg)
except:
do_something()

没有骰子。

try:
parse_declaration_list(arg)[0]
except:
do_something()

不。

try:
parse_declaration_list(arg)
except ParseError:
do_something()

还是没有

error = parse_declaration_list(arg)[0]
if isinstance(error, Exception):
do_something()

抱歉,没有办法。我完全被难住了,我在谷歌上搜索的所有内容都与正常的、行为良好的错误有关。

最佳答案

documentation表示错误不是引发的,而是返回的,即 try/except 在这里不起作用。相反,您必须检查结果,就像在上一种方法中所做的那样。然而,ParseError似乎不是 Exception 的子类。另外,您可能不能只检查列表的第一个元素。您可以尝试这样的事情(未经测试):

result = parse_declaration_list(arg)
if any(isinstance(r, tinycss2.ast.ParseError) for r in result):
do_something()

关于python - 如何捕获 python 中的非 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46565619/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com