Где объявление функции включает спецификацию исключения, функция должна только быть способна к выдаванию исключения обозначенного типа (типов)
Где объявление функции включает спецификацию исключения, функция должна только быть способна к выдаванию исключения обозначенного типа (типов).
Средство проверки отмечает ситуации, где тип данных выданного исключения не совпадает с типом исключительной ситуации, перечисленным в функциональной спецификации.
Например:
void goo ( ) throw ( Exception ) { throw 21; // Non-compliant - int is not listed }
Средство проверки ограничивает обнаружение операторами throw
, которые находятся в теле функции. Если вызовы функции другая функция, средство проверки не обнаруживает, если вызванная функция выдает исключение.
Средство проверки не обнаруживает операторы throw
в блоках catch
.
Где объявление функции включает спецификацию исключения, функция должна только быть способна к выдаванию исключения обозначенного типа (типов).
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: Обработка исключений |
Категория: необходимый |