throwError
package version >0.0.0
shadcn any version
author: cmtlyt
update time: 2026/04/01 16:07:21
throwError 是一个用于创建和抛出错误的工具函数,自动为错误消息添加 @cmtlyt/lingshu-toolkit 包名前缀,便于追踪和调试。推荐在 lingshu-toolkit 包内部使用。
特性
- 自动添加包名前缀:错误消息自动包含
@cmtlyt/lingshu-toolkit包名 - 支持自定义错误类型:可以指定
Error、TypeError等错误类型 - 提供错误创建函数:
createError只创建错误对象,不抛出 - 类型安全:完整的 TypeScript 类型支持
- 推荐内部使用:专为 lingshu-toolkit 包内部设计
install
npm
shadcn
usage
基础用法
throwError - 抛出错误
throwType - 抛出类型错误
createError - 创建错误对象
高级用法
使用自定义错误类型
在函数中使用
创建错误对象后延迟抛出
API
throwError(fnName, message, ErrorClass?)
抛出一个错误,错误消息会自动添加包名前缀。
参数
- fnName:
string- 函数名称,用于标识错误的来源
- message:
string- 错误消息
- ErrorClass?:
ErrorConstructor- 错误类型构造函数,默认为
Error
- 错误类型构造函数,默认为
返回值
- 返回值:
never- 永远不会返回,总是会抛出错误
示例
throwType(fnName, message)
抛出一个 TypeError,错误消息会自动添加包名前缀。
参数
- fnName:
string- 函数名称,用于标识错误的来源
- message:
string- 错误消息
返回值
- 返回值:
never- 永远不会返回,总是会抛出错误
示例
createError(fnName, message, ErrorClass?)
创建一个错误对象,错误消息会自动添加包名前缀,但不会抛出。
参数
- fnName:
string- 函数名称,用于标识错误的来源
- message:
string- 错误消息
- ErrorClass?:
ErrorConstructor- 错误类型构造函数,默认为
Error
- 错误类型构造函数,默认为
返回值
- 返回值:
Error- 错误对象
示例
使用场景
参数验证
配置验证
批量错误收集
注意事项
- 推荐内部使用:此工具专为 lingshu-toolkit 包内部设计,自动添加包名前缀便于追踪错误来源
- 包名前缀:所有错误消息都会自动添加
[@cmtlyt/lingshu-toolkit#fnName]:前缀 - 函数名称:
fnName参数应该使用实际的函数名称,便于调试和追踪 - 错误类型:使用
throwType抛出类型错误,使用throwError抛出通用错误 - 性能考虑:
createError只创建错误对象,不抛出,适合批量错误收集场景 - 类型安全:TypeScript 会正确推断
throwError和throwType永远不会返回 - 错误堆栈:错误堆栈会包含正确的调用信息,便于调试
- 一致性:在包内部统一使用此工具,保持错误消息格式一致