NULL не должен быть выдан явным образом
NULL не должен быть выдан явным образом.
Макро-NULL
обычно используется, чтобы относиться к нулевым указателям. Compliers интерпретируют NULL
как целое число с нулем значения, вместо указателя. Когда вы используете NULL
явным образом в throw
оператор, вы можете ожидать, что оператор повысит исключение типа указателя. throw(NULL)
эквивалентно throw(0)
и повышает целочисленное исключение. Это поведение может противоречить ожиданию разработчика и может привести к ошибкам, которые затрудняют, чтобы найти. Избегайте использования NULL
явным образом в throw
оператор.
Polyspace® отмечает throw
оператор, который повышает NULL
явным образом. Polyspace не отмечает оператор когда NULL
повышен после броска до определенного типа или присвоения его к типу указателя.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: Обработка исключений |
Категория: необходимый |