no-useless-catch
禁止不必要的 catch
子句
✅ 推荐
在配置文件中使用来自 @eslint/js
的 recommended
配置将启用此规则
仅重新抛出原始错误的 catch
子句是冗余的,并且对程序的运行时行为没有影响。这些冗余子句可能是混淆和代码膨胀的来源,因此最好禁止这些不必要的 catch
子句。
规则详情
此规则报告仅 throw
捕获错误的 catch
子句。
此规则的错误代码示例
在代码游乐场中打开
/*eslint no-useless-catch: "error"*/
try {
doSomethingThatMightThrow();
} 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 中引入。