版本

no-useless-catch

禁止不必要的 catch 子句

推荐

配置文件 中使用来自 @eslint/jsrecommended 配置将启用此规则。

仅重新抛出原始错误的 catch 子句是多余的,并且对程序的运行时行为没有影响。这些多余的子句可能会造成混淆和代码膨胀,因此最好禁止这些不必要的 catch 子句。

规则详情

此规则报告仅 throw 捕获错误的 catch 子句。

此规则的 **错误** 代码示例

在游乐场中打开
/*eslint no-useless-catch: "error"*/

try {
  doSomethingThatMightThrow();
} catch (e) {
  throw e;
}

try {
  doSomethingThatMightThrow();
} catch (e) {
  throw e;
} finally {
  cleanUp();
}

此规则的 **正确** 代码示例

在游乐场中打开
/*eslint no-useless-catch: "error"*/

try {
  doSomethingThatMightThrow();
} catch (e) {
  doSomethingBeforeRethrow();
  throw e;
}

try {
  doSomethingThatMightThrow();
} catch (e) {
  handleError(e);
}

try {
  doSomethingThatMightThrow();
} finally {
  cleanUp();
}

何时不使用它

如果您不想收到有关不必要 catch 子句的通知,可以安全地禁用此规则。

版本

此规则是在 ESLint v5.11.0 中引入的。

资源

更改语言