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

Power Query中try语句无法捕获列表索引越界错误问题求解

索引错误捕获失效的原因

这是Power Query的M语言的固有语法特性:

  • 直接使用列表{索引}语法访问超出边界的索引时,触发的是列表访问的原生急切错误,该错误的执行优先级高于try表达式的捕获逻辑,会直接抛出,不会被try捕捉。
  • 你给出的第二个示例中,Source + 1属于运算阶段的常规运行时错误,属于try的默认捕获范围,因此可以正常返回错误记录。

修复方案

如果需要捕获列表索引越界错误,需要在索引取值语法后添加?运算符,明确告知M语言解释器该索引访问允许返回错误供后续逻辑捕获,修改后代码如下:

let
    Source = "abc",
    letter_list = Text.ToList(Source),
    try_on_index_error = try letter_list{5}?
in
    try_on_index_error

修改后运行即可正常返回包含错误信息的记录,和你第二个示例的捕获效果一致。

内容的提问来源于stack exchange,提问作者pylo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 20:21:02