Power Apps:SearchUser函数含&时无法用IfError捕获错误求助
解决Power Apps中SearchUser含"&"符号的错误捕获问题
问题根源
搜索词里的"&"是Power Apps的字符串连接运算符,直接写入会被系统解析为语法符号而非搜索内容,导致SearchUser函数调用触发语法错误;原代码的IfError虽包裹了操作,但这类语法级错误会提前触发系统原生报错,无法被IfError捕获。
解决方法
- 转义"&"符号:用
Char(38)替代搜索词中的"&",让系统将其识别为普通文本字符。 - 调整错误捕获逻辑:确保
IfError完整包裹所有可能出错的操作环节,包括SearchUser调用和后续的字段取值步骤。
修改后的代码示例
IfError( UpdateContext({var1: First(Office365Users.SearchUser({searchTerm: "ABC-MKT " & Char(38) & " BD"})).Surname}), Set(varErr, 1); Notify("搜索出错,请检查搜索词或重试", NotificationType.Error) )
补充提示
- 若搜索词来自输入框等动态数据源,可用
Substitute自动替换&:Substitute(txtSearch.Text, "&", Char(38)) - 若仍有未捕获的错误,可先将
SearchUser的结果存入临时变量,再进行字段取值,进一步缩小错误排查范围。
内容的提问来源于stack exchange,提问作者ahmug
相关产品推荐
相关产品推荐

