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