---
url: /docs/guide/usage/linter/rules/unicorn/catch-error-name.md
---

### 它的作用

此规则会强制 `catch` 语句中的错误变量使用一致且具有描述性的命名，
避免在使用错误对象时使用诸如 `badName` 或 `_` 这类含糊的名称。

### 为什么这不好？

使用像 `badName` 或 `_` 这样的非描述性名称会让代码更难阅读和理解，
尤其是在调试时。使用清晰、一致的名称来表示错误非常重要。

### 示例

以下是此规则的 **错误** 代码示例：

```javascript
try {
} catch (badName) {}

// 如果使用了 `_`，则不允许
try {
} catch (_) {
  console.log(_);
}

promise.catch((badName) => {});

promise.then(undefined, (badName) => {});
```

以下是此规则的 **正确** 代码示例：

```javascript
try {
} catch (error) {}

// 如果 `_` 没有被使用，则允许
try {
} catch (_) {
  console.log(123);
}

promise.catch((error) => {});

promise.then(undefined, (error) => {});
```

## 配置

此规则接受一个包含以下属性的配置对象：

### ignore

type: `string[]`

在检查 `catch` 变量名时要忽略的模式列表。该模式可以是字符串或正则表达式。

### name

type: `string`

default: `"error"`

用于 `catch` 块中错误变量的名称。你可以将其自定义为 `'error'` 之外的其他名称（例如 `'exception'`）。

## 如何使用

## 版本

此规则于 v0.0.14 中添加。

## 参考资料
