Diese Seite wurde vollständig KI-generiert auf Basis von SWS Firewall (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.
[AP_SWS_Fw_83004] текст ещё не импортирован · Header ara/fw/fw_error_domain.h
class FwException : public ara::core::Exception {...};
Exception type for the firewall API.
Header-Datei
#include "ara/fw/fw_error_domain.h"
Scope
namespace ara::fw
Руководство пользователяСОЗДАНО ИИ
Инкапсулирует коды ошибок Firewall API в виде исключения для потокобезопасной сигнализации об ошибках в приложениях Adaptive.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 8e52ff5e20c1ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Инкапсулирует коды ошибок Firewall API в виде исключения для потокобезопасной сигнализации об ошибках в приложениях Adaptive.
Класс ara::fw::FwException представляет собой специализированный тип исключений C++ для Firewall API в AUTOSAR Adaptive Platform и наследует от ara::core::Exception. Он служит для инкапсуляции и транспортировки ara::core::ErrorCode с целью передачи критических состояний ошибки вызывающим компонентам [AP_SWS_Fw_83005]. Инстанцирование выполняется через заголовочный файл ara/fw/fw_error_domain.h с помощью явного конструктора, объявленного как noexcept[AP_SWS_Fw_83005]. В качестве ключевого граничного условия класс гарантирует потокобезопасное конструирование, благодаря чему ошибки могут надежно сигнализироваться даже в параллельных контекстах выполнения.
Контекст
Класс ara::fw::FwException представляет собой выделенный тип исключений C++ для интерфейса Firewall (Firewall API) в AUTOSAR Adaptive Platform. Согласно определению своего интерфейса, он открыто наследует от базового класса ara::core::Exception. В рамках архитектуры модуля fw он служит для того, чтобы инкапсулировать возникающие во время выполнения ошибочные ситуации в форме исключения и распространять их через границы вызовов на вышестоящие функциональные уровни. Класс и его конструктор объявляются через заголовочный файл ara/fw/fw_error_domain.h[AP_SWS_Fw_83005]. В качестве центрального партнера по взаимодействию выступает тип ara::core::ErrorCode, отображающий конкретный контекст ошибки и домен ошибок Firewall.
Жизненный цикл
Жизненный цикл экземпляра ara::fw::FwException начинается с явной инициализации путем передачи объекта ara::core::ErrorCode в конструктор [AP_SWS_Fw_83005]. Так как конструктор объявлен как explicit, неявные преобразования типов из кодов ошибок предотвращаются [AP_SWS_Fw_83005]. Благодаря спецификатору noexcept гарантируется, что само создание объекта исключения ни в какой момент времени не завершится сбоем и не вызовет вторичных исключений [AP_SWS_Fw_83005]. Кроме того, стандарт явно специфицирует конструирование как потокобезопасное (thread-safe) [AP_SWS_Fw_83005], благодаря чему экземпляры исключений разрешается создавать даже в параллельных контекстах выполнения приложения Adaptive без дополнительной синхронизации. Уничтожение объекта происходит автоматически в конце соответствующего блока обработки после перехвата исключения согласно стандартным правилам C++.
Путь использования
Типичный путь использования описывает обнаружение внутренней ошибки внутри Firewall API, инкапсуляцию причины и последующую обработку на уровне приложения. Поскольку Adaptive AUTOSAR ориентируется преимущественно на обработку ошибок на основе значений через объекты результатов, ara::fw::FwException, вероятно, выбрасывается прежде всего тогда, когда имеет место критическая исключительная ситуация или обращение к API осуществляется на основе исключений. Вопрос Q-4a8d1c1d5359c469 (открытый)
Диаграмма последовательности: типичный процесс обработки ошибок и обработки исключений с помощью FwException. Источники: [AP_SWS_Fw_83005] AP_SWS_Fw_83005
Типичный процесс осуществляется следующими шагами:
Обнаружение ошибки: служба Firewall API идентифицирует недопустимую операцию и создает соответствующий объект ara::core::ErrorCode.
Создание исключения: через конструктор [AP_SWS_Fw_83005] потокобезопасно инстанцируется новый экземпляр ara::fw::FwException с этим кодом ошибки.
Выбрасывание исключения: исключение сигнализируется в контекст выполнения посредством throw.
Перехват и анализ: вызывающее приложение перехватывает ara::fw::FwException и считывает содержащийся код ошибки для анализа ошибки или восстановления.
Сценарии ошибок
Сценарии ошибок при использовании ara::fw::FwException касаются главным образом логической валидности переданных данных об ошибке и отсутствия надлежащей обработки исключений. Поскольку конструирование класса исключений специфицировано как noexcept, внутренние источники ошибок при самом инстанцировании отсутствуют [AP_SWS_Fw_83005]. В качестве предусловия вызывающая сторона должна гарантировать передачу семантически корректного ara::core::ErrorCode, адекватно описывающего возникшую причину ошибки Firewall [AP_SWS_Fw_83005]. Если выброшенное ara::fw::FwException далее в стеке вызовов не перехватывается подходящим обработчиком, согласно стандартной семантике C++ это неизбежно приводит к вызову std::terminate и тем самым к аварийному завершению процесса.
Настоящее руководство основано на спецификации AUTOSAR Adaptive R25-11. Все утверждения опираются исключительно на указанные подтверждения из спецификации.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал