主要内容

MISRA C++:2008 Rule 15-3-2

There should be at least one exception handler to catch all otherwise unhandled exceptions

描述

规则定义

There should be at least one exception handler to catch all otherwise unhandled exceptions. 1

Polyspace 实现

如果满足以下任一条件,则检查项会报告违规:

  • main 函数中没有 try/catch

  • catch 模块未包含 catch-all (catch(...)) 处理程序模块。

如果 main 函数不存在,则不会检查该规则。

检查项无法确定未处理类型的异常最终是否会传播到 main

故障排除

如果您预期会出现违规,而 Polyspace® 未报告该违规,请参阅诊断为何编码规范违规未按预期显示

检查信息

组:异常处理
类别:建议

版本历史记录

在 R2013b 中推出


1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.

The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:

  • MISRA C:2004

  • MISRA C:2012

  • MISRA C:2023

  • MISRA C++:2008

  • MISRA C++:2023

MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.