版本

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 中引入。

資源

變更語言