Функция terminate () не должна вызываться неявно
Функция terminate () не должна называться неявно.
Средство проверки помечает следующие ситуации, когда функцию terminate () можно вызвать неявно:
Исключение ускользает. Это также нарушает MISRA C++:2008 Rule 15-3-2. Например:
Перед тем, как исключение будет обнаружено, оно проходит через другую функцию, которая выбрасывает непроверенное исключение. Например, оператор catch или обработчик исключений вызывает конструктор копирования, который создает непроверенное исключение.
Выражение throw без операнда возвращает непроверенное исключение.
Деструктор класса создает исключение. Это также нарушает MISRA C++:2008 Rule 15-5-1.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Обработка особых ситуаций |
| Категория: Обязательно |