gpt4 book ai didi

python - 从异常中捕获有关已执行代码行的信息

转载 作者:行者123 更新时间:2023-12-03 08:29:58 24 4
gpt4 key购买 nike

我正在执行一系列 xpath使用 lxml 查询 HTML 文档图书馆。众所周知,网站所有者经常变化无常,可以在几乎没有通知的情况下更改页面结构。

我有一个用于捕获和处理错误的现有工作流程。本质上,我有一个自定义日志处理程序,它捕获错误的描述(发生的位置等)以及发生错误的原始 HTML 文档。

在这一点上,我希望做的是开始以编程方式记录特定 xpath 的次数。查询失败。我当前的工作流程是梳理大量日志并查找处理特定查询出现的各种代码行的异常。我希望我可以优化这个。

try:
result1 = document.xpath('query1')[0]
result2 = document.xpath('query2')[0]
result3 = document.xpath('query3')[0]
except LookupError:
log.exception('Some more details', document)

我的问题 : 有没有办法以编程方式推断在上面的 try/catch block 中哪个查询实际上失败了?显然是 LookupError可能是由任何三个查询生成的。如何在不将每个都包装在 try/catch block 中的情况下将其固定为一个?

编辑澄清

我的 block 实际上还有更多的底层代码。 for 循环不会是有效的。
try:
result1 = document.xpath('query1')[0]
if some_condition:
result2 = document.xpath('query2')[0]
else:
result3 = document.xpath('query3')[0]
# More checking, etc.
except LookupError:
log.exception('Some more details', document)

最佳答案

要查找哪个查询出错:

import traceback
print traceback.format_exc().split("\n")[2].strip()

关于python - 从异常中捕获有关已执行代码行的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28524003/

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