You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让操作Zendesk工单的Python for循环在报错后继续执行并跳过异常工单?

解决Python循环处理工单时跳过错误继续执行的问题

我明白你的需求——你希望脚本在处理单个工单出错时,只记录错误的工单ID,然后继续处理下一个,而不是直接终止整个脚本。问题出在你当前的异常处理范围太大,把整个循环都包裹进去了,所以一旦某个工单处理出错,就会触发except块,直接跳出循环。我们只需要把异常处理的粒度缩小到每一次工单处理上就行。

修改后的代码

from zenpy.lib.api_objects import CustomField
from zenpy import Zenpy
import csv, sys

creds = {
    'email' : 'xxxxxxxxxxx',
    'token' : 'xxxxxxxxxxx',
    'subdomain': 'xxxxxxxxxxx'
}
zenpy_client = Zenpy(**creds)

arquivo = '/Users/IDS.csv'
try:
    with open(arquivo, 'rt', encoding='utf8') as ficheiro:
        leitor = csv.reader(ficheiro)
        contador = 0
        for linha in leitor:
            if contador != 0:
                ticket_id = linha[0]
                try:
                    # 尝试处理当前工单的核心逻辑
                    ticket = zenpy_client.tickets(id=ticket_id)
                    ticket.custom_fields.append(CustomField(id=1900002490207, value=linha[1]))
                    zenpy_client.tickets.update(ticket)
                    print(f'O Ticket = {ticket_id} Teve o Este Valor Inserido = {linha[1]}')
                except Exception as e:
                    # 捕获处理工单时的所有异常,打印错误信息
                    print(f'Erro ao processar Ticket {ticket_id}: {str(e)}')
                    # 明确跳过当前工单,继续下一个(不加continue也会自动进入下一次循环,加上更清晰)
                    continue
            contador = contador + 1
except csv.Error as e:
    # 处理CSV文件本身的错误(比如格式问题),这类错误无法跳过,直接终止脚本并提示
    line_num = leitor.line_num if 'leitor' in locals() else 'desconhecida'
    print(f'ficheiro {arquivo}, linha {line_num}: {e}')
    sys.exit(1)

关键修改说明

  1. 缩小异常处理范围:把try-except从整个循环外面移到了循环内部,只包裹单个工单的处理逻辑。这样单个工单出错时,只会触发当前的except块,不会影响后续循环。
  2. 提取工单ID变量:把linha[0]赋值给ticket_id,方便在异常块中快速定位出错的工单。
  3. 扩展异常捕获类型:用Exception捕获所有可能的错误(包括Zenpy API调用失败、网络问题、无效工单ID等),确保不会因为未预见的错误终止脚本。如果知道Zenpy的具体异常类(比如ZenpyException),也可以替换成更精准的类型。
  4. 分离CSV文件错误处理:把CSV文件本身的错误(比如读取失败、格式错误)单独处理,这类错误无法通过跳过解决,所以直接终止脚本并给出明确提示。

这样修改后,脚本在处理每个工单时遇到任何错误,都会打印该工单ID和错误详情,然后自动跳过,继续处理下一个工单,完全符合你的需求。

内容的提问来源于stack exchange,提问作者Manassés G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 23:52:39