error-ex

中文文档
1.3.4发布于 2025/09/15MIT近 30 天下载 4亿

简单错误子分类和堆栈定制

中文使用文档
文档目录3 节
  1. 实例
  2. API 密码
  3. 许可证

前节点 Travis-CI.org Build Status Coveralls.io Coverage Rating

方便的子分类和自定义新错误类型

实例

在您的项目中包括:

var errorEx = require('error-ex');

要创建带有特定名称的错误消息类型(注: ErrorFn.name 将不反映这一点:

var JSONError = errorEx('JSONError');

var err = new JSONError('error');
err.name; //-> JSONError
throw err; //-> JSONError: error

要添加堆栈行 :

var JSONError = errorEx('JSONError', {fileName: errorEx.line('in %s')});

var err = new JSONError('error')
err.fileName = '/a/b/c/foo.json';
throw err; //-> (line 2)-> in /a/b/c/foo.json

附加到错误消息中 :

var JSONError = errorEx('JSONError', {fileName: errorEx.append('in %s')});

var err = new JSONError('error');
err.fileName = '/a/b/c/foo.json';
throw err; //-> JSONError: error in /a/b/c/foo.json

API 密码

errorEx([name], [properties])

创建新错误Ex出错类型

  • name: 新类型的名称( 投出时出现在出错消息中); 默认为 Error.name(中文(简体) )
  • properties:如果提供,则用作属性的密钥/值词典 用于建立堆栈消息。 密钥是属性名称 查看了错误消息,然后传递到函数值 .
    • line: 如果指定为函数, 返回值会作为堆栈添加 输入(为您缩进)。 传递给您的属性值 钥匙.
    • stack: 如果指定为函数, 则传递属性的值 使用密钥和生的堆栈线作为第二个参数。 没有 返回值(但可直接修改堆栈).
    • message: 如果指定为函数, 返回值将用作新值 .message 获取时值。 传递了所命名财产的财产价值 ,而现有的消息作为第二个参数作为 数行(适用于多行消息).

返回像正则错误一样可以使用的构造器( 函数) 建筑师.

var errorEx = require('error-ex');

var BasicError = errorEx();

var NamedError = errorEx('NamedError');

// --

var AdvancedError = errorEx('AdvancedError', {
    foo: {
        line: function (value, stack) {
            if (value) {
                return 'bar ' + value;
            }
            return null;
        }
    }
})

var err = new AdvancedError('hello, world');
err.foo = 'baz';
throw err;

/*
    AdvancedError: hello, world
        bar baz
        at tryReadme() (readme.js:20:1)
*/

errorEx.line(str)

使用分隔符创建堆栈行

这是一个帮助函数 。 用来代替写入一个值对象 页:1 properties 数值.

  • str: 要创建的字符串
    • 使用分隔符 %s 指定字符串中该值应当去向
var errorEx = require('error-ex');

var FileError = errorEx('FileError', {fileName: errorEx.line('in %s')});

var err = new FileError('problem reading file');
err.fileName = '/a/b/c/d/foo.js';
throw err;

/*
    FileError: problem reading file
        in /a/b/c/d/foo.js
        at tryReadme() (readme.js:7:1)
*/

errorEx.append(str)

附录 error.message 字符串

这是一个帮助函数 。 用来代替写入一个值对象 页:1 properties 数值.

  • str: 附加的字符串
    • 使用分隔符 %s 指定字符串中该值应当去向
var errorEx = require('error-ex');

var SyntaxError = errorEx('SyntaxError', {fileName: errorEx.append('in %s')});

var err = new SyntaxError('improper indentation');
err.fileName = '/a/b/c/d/foo.js';
throw err;

/*
    SyntaxError: improper indentation in /a/b/c/d/foo.js
        at tryReadme() (readme.js:7:1)
*/

许可证

凭 MIT 许可证。 。 。 . 你可以在书上找到副本 自由主义。 。 。 .

版本与发布记录

error-ex 共发布 18 个版本,首次发布于 2015/08/26;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.3.4latest2025/09/151.1 年前
1.3.32025/09/081.2 年前
1.3.22018/06/198 年前
1.3.12017/03/049 年前
1.3.02015/11/0411 年前
1.2.02015/08/2711 年前

关于 error-ex 的常见问题

error-ex 是什么?

简单错误子分类和堆栈定制

如何安装 error-ex?

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

error-ex 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/error-ex 是否存在。

error-ex 可以商用吗?

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

error-ex 的下载量有多少?

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

error-ex 还在维护吗?

最新版本 1.3.4 发布于 2025/09/15(1.1 年前);至今共发布 18 个版本,其中过去 12 个月发布了 0 个;首次发布于 2015/08/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。