☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

catch 子句不应为空

9.6.2 ID_catch_emptyBlock
目录 › next › previous

空的 catch 子句仅捕获异常而未作任何处理,相当于掩盖了异常。

示例:

void foo() {
    try {
        ....
    }
    catch (E&)   // Non-compliant, empty catch-clause
    {}
}

掩盖异常也可能会影响到程序其他方面的正常运行。

至少应添加日志记录等操作:

void foo() {
    try {
        ....
    }
    catch (E&) {
        log("messages");   // Compliant
    }
}

参考

CWE-391 CWE-1069 CWE-1071
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.