TS错误值处理库
各维度得分依据公开资料与字段推算,加权后即综合评分,仅供参考。
Errore 面向 TypeScript 提出“Errors as Values”约定:函数不抛异常,而是在返回类型中显式写出 Error | T,调用方通过 instanceof Error 或具体错误类判断后,TypeScript 自动完成类型收窄。它更像一种编码规范,正文强调核心模式甚至可以零依赖实现;errore 包则提供便利工具。
在功能上,Errore 解决的是 TypeScript 项目中异常路径不透明、catch 容易遗漏的问题。返回签名直接暴露可能失败的类型,具备自文档化效果。createTaggedError 可创建带字段和消息模板的类型化错误,matchError 支持穷尽式匹配,遗漏错误分支会触发类型错误。errore.try/tryAsync 用于包装会 throw 的第三方库调用。资源清理方面,它提供 DisposableStack 与 AsyncDisposableStack polyfill,配合 using/await using 降低多层 try/finally 嵌套。
正文没有给出商业定价、付款方式或企业支持信息。生态上,它与 TypeScript 类型系统强绑定,并推荐结合 lintcn 的 no-unhandled-error 规则,弥补 TypeScript 无法发现“直接丢弃 Error | T 返回值”的缺口。文档还对比了 neverthrow、better-result 和 Effect.ts:Errore 不使用 Result 容器,也不要求采用完整函数式框架。
优点是概念简单、依赖轻、调用代码无需 .value/.error 解包,适合希望保留普通 TypeScript 写法的团队。对库作者也友好,不强迫用户安装特定 Result 库。缺点是团队必须接受“少 throw、多返回错误值”的风格;复杂流程中会出现较多 if error return 检查;若不接入 lintcn,被忽略的返回值仍可能漏检。正文也未说明开源许可证、维护团队和版本稳定性。
它适合 TypeScript 库作者、Node/前端应用团队,以及使用 AI coding agents、希望让编译器约束错误处理路径的代码库。若团队需要依赖注入、结构化并发等完整运行时抽象,Effect.ts 更合适;若偏好传统 Result 容器,可看 neverthrow。中国访问情况正文未涉及,网络与支付可用性均未知。
本测评基于公开资料整理,不构成购买建议,请以 errore.org 官网实际信息为准。
Go风格错误处理思路,开发者可参考。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。