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

Где объявление функции включает спецификацию исключения, функция должна только быть способна к выдаванию исключения обозначенного типа (типов)

Описание

Управляйте определением

Где объявление функции включает спецификацию исключения, функция должна только быть способна к выдаванию исключения обозначенного типа (типов).

Реализация Polyspace

Средство проверки отмечает ситуации, где тип данных выданного исключения не совпадает с типом исключительной ситуации, перечисленным в функциональной спецификации.

Например:

void goo ( ) throw ( Exception )
  { 
    throw 21; // Non-compliant - int is not listed
  }    

Средство проверки ограничивает обнаружение throw операторы, которые находятся в теле функции. Если вызовы функции другая функция, средство проверки не обнаруживает, если вызванная функция выдает исключение.

Средство проверки не обнаруживает throw операторы в catch блоки.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

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

Группа: Обработка исключений
Категория: необходимый

Введенный в R2013b