如何在UCI中使用InvalidPluginExecutionException?Dynamics 365本地版错误文本显示问题
解决Dynamics 365本地版自定义错误消息显示问题
一、确认InvalidPluginExecutionException的正确用法
确保抛出异常的代码格式符合要求,直接传入自定义消息字符串,避免嵌套异常或错误重载:
// 正确写法 throw new InvalidPluginExecutionException("你的自定义错误提示内容");
需规避的错误用法:
- 不要将自定义消息放在
InnerException中,新版本不会解析内层异常的文本 - 避免使用带
OperationStatus参数的重载,这类场景下可能会屏蔽自定义消息
二、检查系统错误消息设置
- 进入Dynamics 365高级设置 > 管理 > 系统设置
- 切换到常规标签页,找到错误消息区域
- 确认已勾选显示自定义错误消息选项,取消勾选会仅显示通用错误提示
三、替代方案(若上述方法无效)
1. 前端捕获Web API错误信息
在插件中用ITracingService记录自定义消息,前端调用Web API时捕获错误,解析返回的error.details字段提取自定义文本,再通过前端组件弹出提示。
2. 客户端脚本直接校验提示
在表单的OnSave事件中添加JavaScript脚本,提前校验业务逻辑,用Xrm.Navigation.openAlertDialog显示自定义错误:
function validateForm(executionContext) { const formContext = executionContext.getFormContext(); const requiredField = formContext.getAttribute("your_required_field").getValue(); if (!requiredField) { Xrm.Navigation.openAlertDialog({ text: "请填写必填字段" }); executionContext.getEventArgs().preventDefault(); } }
内容的提问来源于stack exchange,提问作者Damkulul
相关产品推荐
相关产品推荐

