Вызываемая функция не возвращается в контекст вызова
Эта проверка вызова функции появляется при выполнении следующих условий:
Вызываемая функция не возвращается в контекст вызова. Вызов приводит к определенной ошибке времени выполнения или функции завершения процесса, такой как exit() в теле функции.
Существуют другие вызовы той же функции, которые не приводят к определенной ошибке или функции завершения процесса в теле функции.
Когда только часть вызовов функции приводит к определенной ошибке, эта проверка помогает идентифицировать эти вызовы функции. В теле функции, даже если возникает определенная ошибка, ошибка отображается оранжевым, а не красным цветом, потому что результаты проверки в теле функции агрегируются по всем вызовам функции. Для указания того, что произошла определенная ошибка, вместо этого на вызове функции отображается красная проверка вызова без завершения.
В противном случае, если все вызовы функции приводят к определенной ошибке или функции завершения процесса в теле функции, ошибка вызова без завершения не отображается. Ошибка отображается красным цветом в теле функции, а на вызовах функции - пунктирным красным подчеркиванием. Однако после вызова функции, подобно другим красным ошибкам, Polyspace ® не анализирует остающийся код в той же области, что и вызов функции.
Можно перейти непосредственно от вызова функции к операции, вызывающей ошибку времени выполнения в теле функции.
Чтобы найти источник ошибки, на панели Источник (Source) установите курсор на ключевое слово цикла и просмотрите подсказку.
Перейдите к источнику ошибки в теле функции. Щелкните правой кнопкой мыши вызов функции и выберите Go to Cause, если опция существует.
Если ошибка является результатом нескольких причин, опция приводит к первой причине в теле функции. Несколько причин могут возникать, например, когда некоторые значения аргумента функции запускают одну конкретную ошибку, а другие значения запускают другие ошибки.
| Группа: Поток управления |
| Язык: C | C++ |
| Акроним: NTC |