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

不应嵌套 try-catch 语句

9.6.3 ID_try_forbidNest
目录 › next › previous

嵌套的 try-catch 语句使代码显得复杂,不利于阅读和维护。

在嵌套的 try-catch 语句中较难看出各 catch 子句的从属关系,尤其是相关代码行数较多时这种问题会更为明显,应将内嵌的 try-catch 语句抽取成函数,使代码具有更清晰的静态结构。

示例:

try {
    ....
    try {    // Non-compliant
        ....
    } catch (A&) {    // Confusing
        ....
    }
} catch (B&) {
    ....
}

参考

C++ Core Guidelines E.17
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.