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