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

Python遍历机场列表查询气象数据时如何忽略异常继续执行后续项

解决方案

你之前尝试的try except未生效,大概率是异常捕获范围错误、异常类型不匹配,或是同步睡眠方法阻塞了异步事件循环导致的,可按以下方案修改代码:

import asyncio

for airport_code in aeropuertos:
    try:
        # 调用API获取机场气象信息
        finalizado = MetarBot.metarbot.Taf(airport_code)
        await ctx.send(finalizado)
    except Exception as e:
        # 此处可先打印e查看具体的异常类型,后续替换为精准的异常类,避免误吞其他错误
        await ctx.send(f"机场代码*{airport_code}*请检查拼写!")
    # 用异步睡眠替换同步睡眠,避免阻塞Discord机器人的事件循环
    await asyncio.sleep(0.5)

关键说明

  • 异常捕获逻辑要完整包裹Taf()方法调用行,才能捕获到无效机场代码触发的接口错误
  • 异步场景下禁止使用time.sleep这类同步阻塞方法,会导致整个机器人进程卡住,看起来像是程序终止
  • 确认API抛出的具体异常类型后,可把Exception替换为对应的异常类,比如AVWX库常见的InvalidRequestError、StationNotFoundError等,实现更精准的错误处理

内容的提问来源于stack exchange,提问作者Federico Perez Diduch

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:51:03