no-useless-catch
Disallow unnecessary catch
clauses
✅ Recommended
The "extends": "eslint:recommended"
property in a configuration file enables this rule
一个只重新抛出原始错误的 catch
子句是多余的,对程序的运行行为没有影响。这些多余的子句可能是混乱和代码膨胀的来源,所以最好不允许这些不必要的 catch
子句。
规则细节
这条规则报告的 catch
子句只 throw
被捕获的错误。
使用此规则的错误示例:
Open in Playground
/*eslint no-useless-catch: "error"*/
try {
doSomethingThatMightThrow();
} catch (e) {
throw e;
}
try {
doSomethingThatMightThrow();
} catch (e) {
throw e;
} finally {
cleanUp();
}
使用此规则的正确示例:
Open in Playground
/*eslint no-useless-catch: "error"*/
try {
doSomethingThatMightThrow();
} catch (e) {
doSomethingBeforeRethrow();
throw e;
}
try {
doSomethingThatMightThrow();
} catch (e) {
handleError(e);
}
try {
doSomethingThatMightThrow();
} finally {
cleanUp();
}
何时不用
如果你不希望被通知到不必要的捕获条款,你可以安全地禁用这个规则。
Version
This rule was introduced in ESLint v5.11.0.