Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
Инкапсулирует коды ошибок модуля shwa в виде исключения C++ для потокобезопасной сигнализации и обработки ошибок.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 1a4cf59da390ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Инкапсулирует коды ошибок модуля shwa в виде исключения C++ для потокобезопасной сигнализации и обработки ошибок.
Класс ara::shwa::ShwaException наследует от ara::core::Exception и служит в модуле shwa для сигнализации об ошибочных ситуациях через механизм исключений C++. При инстанцировании явный конструктор принимает ara::core::ErrorCode, который инкапсулирует причину ошибки и предоставляет ее для диагностики в блоке перехвата [AP_SWS_SHWA_01303]. Создание специфицировано согласно [AP_SWS_SHWA_01303] как noexcept, безопасное относительно исключений и потокобезопасное. Интерпретация: вызывающим сторонам следует структурированно перехватывать исключение и анализировать код ошибки, чтобы избежать необработанных аварийных завершений процесса. Вопрос (открытый)
Контекст
Класс ara::shwa::ShwaException представляет в модуле shwa в AUTOSAR Adaptive Platform специализированный класс исключений для сигнализации о модулеспецифичных ошибочных ситуациях. Согласно синтаксису класса, тип открыто наследует от ara::core::Exception и тем самым встраивается в единую иерархию исключений Adaptive Platform. В системной архитектуре класс функционирует как мост между внутренними компонентами модуля shwa и вызывающими уровнями приложения. Его основное назначение — транспортировка ara::core::ErrorCode через механизм исключений C++, как подтверждается объявлением конструктора согласно [AP_SWS_SHWA_01303]. Прикладной код, вероятно, использует класс в качестве типа для перехвата, чтобы целенаправленно отличать ошибки из модуля shwa от общих исключений платформы. Вопрос Q-c74c928a939e73ad (открытый)
Жизненный цикл
Жизненный цикл экземпляра ara::shwa::ShwaException начинается с его создания в контексте обнаружения ошибки. Согласно [AP_SWS_SHWA_01303], создание осуществляется через конструктор explicit ShwaException(ara::core::ErrorCode errorCode) noexcept. Инициализация связывает переданный код ошибки непосредственно с объектом исключения. Спецификация гарантирует для этого объявления полную безопасность исключений (exception safe), а также потокобезопасность (thread-safe) [AP_SWS_SHWA_01303]. Поскольку конструктор объявлен как noexcept, само создание объекта гарантированно не может вызывать вторичных исключений.
После создания объект передается среде выполнения C++ с помощью инструкции throw. Среда выполнения берет на себя управление в процессе раскрутки стека (stack unwinding), пока объект не будет связан в совместимом блоке catch. После выхода из блока исключения время жизни завершается, и объект автоматически уничтожается. Поскольку создание специфицировано как потокобезопасное [AP_SWS_SHWA_01303], несколько потоков выполнения могут создавать и генерировать экземпляры независимо друг от друга.
Путь использования
Типичный путь использования начинается с вызова функции модуля shwa приложением. Если операция завершается неудачно и модулеспецифичная семантика предусматривает исключение, выполняющий компонент инстанцирует ara::shwa::ShwaException с передачей соответствующего ara::core::ErrorCode[AP_SWS_SHWA_01303]. Затем исключение генерируется.
Вызывающий код приложения перехватывает исключение либо как ara::shwa::ShwaException, либо через базовый класс ara::core::Exception. В блоке перехвата можно прочитать инкапсулированный код ошибки, чтобы проанализировать причину, записать сообщения в журнал или инициировать меры по восстановлению. Приведенная ниже последовательность иллюстрирует этот путь.
Диаграмма последовательности: типичный процесс генерации и обработки исключений при вызовах функций в модуле shwa. Источники: [AP_SWS_SHWA_01303]
Сценарии ошибок
Являясь классом исключения, ara::shwa::ShwaException сам служит для сигнализации сценариев ошибок. Единственным предусловием конструирования является передача ara::core::ErrorCode[AP_SWS_SHWA_01303]. Обозначение конструктора спецификатором explicit предотвращает непреднамеренные неявные преобразования типов во время компиляции.
Состояния ошибки во время конструирования исключения исключены, так как конструктор согласно [AP_SWS_SHWA_01303] объявлен с noexcept. Таким образом, инстанцирование надежно и не приводит к ошибкам выделения памяти или аварийным завершениям во время выполнения. Критический сценарий ошибки возникает на системном уровне только тогда, когда сгенерированное исключение не перехватывается вызывающим контекстом: это приводит через стандартный механизм C++ к вызову std::terminate. Интерпретация: вызывающим сторонам следует защищать область исключения и обрабатывать код ошибки, чтобы гарантировать стабильность процесса. Вопрос Q-0b08103bdf1368b7 (открытый)
Настоящее руководство основано исключительно на спецификации интерфейса модуля shwa в AUTOSAR Adaptive Release R25-11.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал