SuperAPI AI 工具集

erpnext-errors-clientscripts

编程与开发

查看项目

更新于 10-16 00:04

技能介绍

用途:为 ERPNext/Frappe 的 Client Scripts 提供错误处理模式,覆盖 try/catch、用户反馈、服务端调用错误处理与校验错误。兼容 v14/v15/v16。

主要能力:按错误类型给出处理方式——校验错误用 frappe.throw() 阻止保存;警告用 frappe.msgprint() 配合 indicator;服务端调用失败用 try/catch 配合 async/await 或回调错误处理;字段值无效用 frm.set_intro() 或字段描述;调试用 console.log/warn/error 与 frappe.show_alert。

反馈方法:frappe.throw() 阻止保存、需用户关闭;frappe.msgprint() 不阻止保存、需关闭;frappe.show_alert() 自动消失;frm.set_intro() 与 frm.dashboard.set_headline() 不阻止保存。

使用方式:在 validate 事件中用 frappe.throw() 阻止保存;异步调用用 try/catch 包裹 frappe.call;回调方式处理 error;子表校验收集多行错误后一次性抛出;refresh 中可优雅降级,失败时仅记录并显示轻微提示。

限制与规则:frappe.throw() 仅在 validate 事件中能阻止保存;异步调用必须包裹 try/catch;用户可见文本用 __() 翻译;不向用户暴露技术错误;不用 alert()/confirm();生产环境避免遗留 console.log。

参考文件:references/patterns.md、references/examples.md、references/anti-patterns.md。相关技能:erpnext-syntax-clientscripts、erpnext-impl-clientscripts、erpnext-errors-serverscripts。