exponenta event banner

MISRA C++: Правило 2008 15-5-3

Функция terminate () не должна вызываться неявно

Описание

Определение правила

Функция terminate () не должна называться неявно.

Внедрение Polyspace

Средство проверки помечает следующие ситуации, когда функцию terminate () можно вызвать неявно:

  • Исключение ускользает. Это также нарушает MISRA C++:2008 Rule 15-3-2. Например:

    • Перед тем, как исключение будет обнаружено, оно проходит через другую функцию, которая выбрасывает непроверенное исключение. Например, оператор catch или обработчик исключений вызывает конструктор копирования, который создает непроверенное исключение.

    • Выражение throw без операнда возвращает непроверенное исключение.

  • Деструктор класса создает исключение. Это также нарушает MISRA C++:2008 Rule 15-5-1.

Поиск неисправностей

Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.

Проверить информацию

Группа: Обработка особых ситуаций
Категория: Обязательно
Представлен в R2018a