Основная функция и задача основная функция должны отловить, по крайней мере: исключения базового класса из всех сторонних библиотек использовали, станд.:: исключение и все в противном случае необработанные исключения.
Основная функция и задача основная функция должны отловить, по крайней мере: исключения базового класса из всех сторонних библиотек использовали, станд.:: исключение и все в противном случае необработанные исключения.
Во время выполнения main()
или задача основная функция, различные исключения могут возникнуть. Например:
Явным образом повышенные исключения класса std::exception
Исключения, являющиеся результатом сторонних библиотек, которыми вы пользуетесь
Непредвиденные исключительные ситуации
Если какое-либо из этих исключений не может быть соответствующим к обработчику, компилятор неявно вызывает функциональный std::terminate()
неправильно отключать выполнение программы. В зависимости от аппаратного и программного обеспечения, которое вы используете, этот процесс завершения может вызвать std::abort()
прерывать выполнение программы, не удаляя переменные в стеке. Такое аварийное завершение приводит к утечкам памяти и уязвимостям системы обеспечения безопасности.
Необработанные исключения могут вызвать аварийное завершение выполнения программы, ведя к утечкам памяти и уязвимостям системы обеспечения безопасности. Чтобы избежать этих проблем, выполните операции main()
или задача основные функции в a try-catch
блок. В блоках выгоды:
Обработайте исключения типа std::exception
явным образом в соответствующих блоках выгоды.
Обработайте базовый класс исключений, являющихся результатом сторонних библиотек.
Обработайте непредвиденные исключительные ситуации в catch(...)
блок.
Polyspace® отмечает main()
функционируйте или задача основная функция если:
Необработанные исключения повышены в функции. Например, исключения, которые повышены вне try-catch
блокируйтесь или в выгоде блок может остаться необработанным.
Функция не имеет try-catch
блок.
Функция не имеет блоков выгоды, чтобы явным образом обработать std::exception
введите исключения.
Функция не имеет вместилища или catch(...)
блоки, чтобы обработать непредвиденные исключительные ситуации.
Polyspace не проверяет, обработаны ли исключения из сторонних библиотек.
Polyspace отмечает main()
функционируйте или задача основная функция, даже если необработанное исключение не может быть повышено.
Polyspace обнаруживает main()
функция. Чтобы задать функцию как задачу основная функция, используйте эти параметры компиляции:
- точки входа <имя>
- циклические задачи <имя>
- прерывания <имя>
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: Обработка исключений |
Категория: Необходимый, Частично автоматизированный |