# error-ex 中文文档

规范地址：https://npmcn.com/package/error-ex/

版本：1\.3\.4
npm 元数据更新时间：2025-09-15T14:58:41.446Z
中文译文更新时间：2026-11-05T15:09:30.009Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/error-ex
原文对照：https://npmcn.com/package/error-ex/?lang=original
项目主页：https://github.com/qix-/node-error-ex#readme
源码仓库：https://github.com/qix-/node-error-ex

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：9 kB，4 个文件
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2015-08-25T21:16:59.317Z
- 最新版本发布：2025-09-15T14:58:41.266Z
- 近 30 天下载量：400331382（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 0 个）

## 中文简介

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

## 安装

```sh
npm install error-ex
```

也可以使用：`pnpm add error-ex`、`yarn add error-ex`、`bun add error-ex`

## README

# 前节点 [![Travis-CI.org Build Status](https://img.shields.io/travis/Qix-/node-error-ex.svg?style=flat-square)](https://travis-ci.org/Qix-/node-error-ex) [![Coveralls.io Coverage Rating](https://img.shields.io/coveralls/Qix-/node-error-ex.svg?style=flat-square)](https://coveralls.io/r/Qix-/node-error-ex)

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

## 实例

在您的项目中包括:

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

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

```javascript
var JSONError = errorEx('JSONError');

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

要添加堆栈行 :

```javascript
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
```

附加到错误消息中 :

```javascript
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` 获取时值。 传递了所命名财产的财产价值 ,而现有的消息作为第二个参数作为 数行(适用于多行消息).

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

```javascript
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` 指定字符串中该值应当去向

```javascript
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` 指定字符串中该值应当去向

```javascript
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 许可证](http://opensource.org/licenses/MIT)。 。 。 . 你可以在书上找到副本 [自由主义](https://npmcn.com/package/error-ex/LICENSE)。 。 。 .

## 常见问题

### 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 和提交记录判断。

