Skip to content
← Back to rules

eslint/no-ex-assign 正确性

This rule is turned on by default.

它做了什么

禁止在 catch 子句中重新赋值异常参数

为什么这是不好的?

如果在 try 语句的 catch 子句中意外(或有意)将另一个值赋给异常参数, 则从该点起就无法再引用该错误。 由于不存在 arguments 对象来提供对这些数据的替代访问方式, 因此对参数的赋值是完全破坏性的。

示例

此规则的 错误 代码示例:

javascript
try {
  // 代码
} catch (e) {
  e = 10;
}

此规则的 正确 代码示例:

javascript
try {
  // 代码
} catch (e) {
  let val = 10;
}

如何使用

通过配置文件或 CLI 启用 此规则,可以使用:

json
{
  "rules": {
    "no-ex-assign": "error"
  }
}
bash
oxlint --deny no-ex-assign

参考资料