版本

no-empty

禁止空块语句

推荐

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

💡 hasSuggestions

此规则报告的一些问题可以通过编辑器建议手动修复。

空块语句,虽然从技术上讲不是错误,但通常是由于未完成的重构导致的。它们在阅读代码时可能会造成混淆。

规则详情

此规则禁止空块语句。此规则忽略包含注释的块语句(例如,在 try 语句的空 catchfinally 块中,以指示无论错误如何都应继续执行)。

此规则的错误代码示例

在 Playground 中打开
/*eslint no-empty: "error"*/

if (foo) {
}

while (foo) {
}

switch(foo) {
}

try {
    doSomething();
} catch(ex) {

} finally {

}

此规则的正确代码示例

在 Playground 中打开
/*eslint no-empty: "error"*/

if (foo) {
    // empty
}

while (foo) {
    /* empty */
}

try {
    doSomething();
} catch (ex) {
    // continue regardless of error
}

try {
    doSomething();
} finally {
    /* continue regardless of error */
}

选项

此规则有一个用于异常的对象选项。

  • "allowEmptyCatch": true 允许空 catch 子句(即不包含注释的子句)。

allowEmptyCatch

使用 { "allowEmptyCatch": true } 选项的此规则的其他正确代码示例

在 Playground 中打开
/* eslint no-empty: ["error", { "allowEmptyCatch": true }] */
try {
    doSomething();
} catch (ex) {}

try {
    doSomething();
}
catch (ex) {}
finally {
    /* continue regardless of error */
}

何时不使用它

如果您有意使用空块语句,则可以禁用此规则。

版本

此规则是在 ESLint v0.0.2 中引入的。

资源

更改语言