SuperAPI AI 工具集

error-handling

编程与开发

查看项目

更新于 10-16 02:37

技能介绍

用途:为 SAP CAP 应用提供统一的错误与消息处理规范,帮助在服务处理器中正确抛出、累积和呈现错误。

主要能力:介绍四种消息方法。req.reject 会停止处理并返回错误 HTTP 响应;req.warn 非阻塞,写入 @SAP.Messages OData 注解;req.info 添加信息类消息;req.error 累积错误但不中断,随后调用 req.reject() 一次性抛出全部错误。

HTTP 状态码:400 请求错误或校验失败;401 未认证;403 已认证但未授权;404 实体不存在;409 冲突;422 业务规则失败;500 意外服务器错误,应谨慎使用。

i18n:在 _i18n/messages.properties 中按 KEY=文本 定义消息,处理器中用键引用,CAP 按用户区域自动解析。

结构化错误:可传对象,包含 code、message、target、status,target 指定实体字段,便于 Fiori 内联校验展示。

其他能力:用 cds.on('error', ...) 注册全局错误处理器集中记录并改写错误;远程服务调用用 try/catch 区分超时、404 与意外错误;可继承 cds.error 定义可复用领域错误类。

限制与常见错误:不要直接 throw new Error,避免绕过 CAP 格式化;不要返回错误对象而不调用 req.reject;生产环境不要返回堆栈;业务规则失败不要用 500;校验错误不要遗漏 target;远程调用不要吞掉错误。