@chubbyts/chubbyts-throwable-to-error

中文文档
2.4.1发布于 2026/11/09MITTypeScriptES Module零依赖近 30 天下载 2159

将任何抛出值转换为错误.

中文使用文档
文档目录7 节
  1. 说明
  2. 为什么用它
  3. 所需资源
  4. 安装
  5. 使用量
  6. 行为
  7. 版权

胖子可扔到过头

CI Coverage Status Mutation testing badge npm-version

bugs code_smells coverage duplicated_lines_density ncloc sqale_rating alert_status reliability_rating security_rating sqale_index vulnerabilities

说明

将任何抛出值转换为 Error。 。 。 .

在 Java 脚本中, throw 接受任何东西:字符串、数字、普通对象, null, (中文(简体) ), undefined,所以类型脚本 类型 a catch 变量为 unknown。 。 。 . throwableToError 使这个值正常化为真实的 Error所以你们剩下的人 代码(博客、错误反应、, cause 链条)可以依赖 message 财务报告和审定财务报表 name 在场.

为什么用它

  • 类型安全: 转弯 unknown 输入 Error 没有不安全 as Error 铸作.
  • 从不扔: 循环参考,投掷 toJSON 编号 : toString / 获取器和不可序列值被处理 报告为 [unserializable] 而不是崩溃您的错误处理器.
  • 锁定输出: 超过 2048 个字符的信件被切换(后缀) ...),所以一个巨大的抛出物体不能 冲出你的日志.
  • 使真实错误不受影响页:1 Error (或子类)与原来的堆栈一样被还原.
  • 小声:一个单一的函数,没有依赖关系.

所需资源

  • 节点:

安装

穿过 国家预防机制 作为 @ chubbyts/ chubbyts-可推-tror。 。 。 .

npm i @chubbyts/chubbyts-throwable-to-error@^2.4.1

使用量

import { throwableToError } from '@chubbyts/chubbyts-throwable-to-error/throwable-to-error';

try {
  throw { key: 'value' };
} catch (e) {
  const error = throwableToError(e);

  error.name; // 'object'
  error.message; // '{"key":"value"}'
}

行为

丢入值namemessage
new Error('example')不变( 相同实例)不变( 相同实例)
'example''string''example'
42'number''42'
true'boolean''true'
undefined'undefined''undefined'
null'null''null'
Symbol('example')'symbol''Symbol(example)'
() => null'function''() => null'
{ key: 'value' }'object''{"key":"value"}'
['example']'object''["example"]'
圆形参考对象'object''[unserializable]'
  • 对象(和数组)以 JSON.stringify,其他所有值为 String。 。 。 .
  • 这个 name 这是 typeof 丢出值 ('null' 页:1 null) (中文(简体) ).
  • 这个 stack 转换错误为 undefined:它只会指出 throwableToError 自己,不是去那个地方 投出数值的地方.

2026 道米尼克·佐格(英语:

版本与发布记录

@chubbyts/chubbyts-throwable-to-error 共发布 23 个版本,首次发布于 2022/06/10;过去 12 个月发布了 11 个版本。

版本发布日期距今
2.4.1latest2026/11/09今天
2.4.02026/11/081 天前
2.3.42026/10/2020 天前
2.3.32026/08/053 个月前
2.3.22026/08/053 个月前
2.3.12026/08/053 个月前

关于 @chubbyts/chubbyts-throwable-to-error 的常见问题

@chubbyts/chubbyts-throwable-to-error 是什么?

将任何抛出值转换为错误.

如何安装 @chubbyts/chubbyts-throwable-to-error?

在项目目录运行 npm install @chubbyts/chubbyts-throwable-to-error,或使用 pnpm add / yarn add / bun add。

@chubbyts/chubbyts-throwable-to-error 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@chubbyts/chubbyts-throwable-to-error 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@chubbyts/chubbyts-throwable-to-error 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@chubbyts/chubbyts-throwable-to-error 可以商用吗?

@chubbyts/chubbyts-throwable-to-error 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@chubbyts/chubbyts-throwable-to-error 的下载量有多少?

根据 npm 官方下载统计,@chubbyts/chubbyts-throwable-to-error 在 2026/10/10 – 2026/11/08 这 30 天内被下载 2,159 次,日均约 72 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@chubbyts/chubbyts-throwable-to-error 还在维护吗?

最新版本 2.4.1 发布于 2026/11/09(今天);至今共发布 23 个版本,其中过去 12 个月发布了 11 个;首次发布于 2022/06/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。