Skip to content

错误与日志体系差异 ​

错误类型迁移至 UniError(破坏性变更) ​

旧版错误类型为 SnError(自定义类),2.0 起移除,统一遵循 uni 错误规范 使用运行时内置 UniError 对象。

项目旧版(1.x)新版(2.0 beta)
错误类型SnError(自定义类)UniError(uni-app x 运行时内置)
构造new SnError(moduleName, apiname, errCode, cause?)new UniError(errSubject, errCode, errMsg)
属性errSubject(moduleName-apiname 拼接) / errMsg / causeerrSubject / errCode / errMsg / cause / data
errSubject 规则单段拼接(如 'ui-showToast')多级模块以 :: 分割(如 'sinle-ui::component::sn-avatar'、'sinle-ui::api::utils::showToast')
源错误cause 为 Errorcause 为 SourceError(多个时为 UniAggregateError)
导入来源@/uni_modules/sinle-ui(重导出)无需导入(运行时全局对象)

兼容性影响:所有依赖 SnError 类型、构造参数与 errSubject 拼接规则的代码全部失效,需迁移为 UniError 构造与 :: 分割的 errSubject。

插件收敛至 sinle-logger(破坏性变更) ​

旧版错误与日志由 sinle-error 插件提供,2.0 起收敛为 sinle-logger 插件统一管理:

项目旧版(1.x)新版(2.0 beta)
日志开关$snui.configs 无专门日志开关$snui.logging(默认开启),setLogging / getLogging
日志方法log / info / debug / warn / error([Snui] 前缀)同左(经 sinle-logger 提供,warn / error 接收 UniError 并抛出)
错误码查询getErrMsg 语义错误码表保留(迁至 sinle-logger)
使用约束组件内可随意禁止组件内直接 console,一律经框架日志接口(core/private/logger.uts)

错误码标准 ​

错误码对照表(成功、撤销、权限、文件、平台、组件参数、Store key 重复、扫描等场景)仍保留,见错误码对照表。2.0 起各模块失败时通过 UniError.errMsg 直接提供错误信息,亦可经 sinle-logger 的 getErrMsg(errCode) 查询。

对应关系 ​

  • 旧 snu.showToasty → 新版 snu.showSysToast(调用系统原生 Toast)
  • 全局弹窗(showToast/showModal/showActionsheet/showLoading)失败回调统一返回 UniError

使用 MIT 协议