Diese Seite wurde vollständig KI-generiert auf Basis von SWS IntrusionDetectionSystemManager (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.
Определяет домен ошибок Intrusion Detection System Manager для сопоставления кодов ошибок и исключений.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5ad009b86550ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Определяет домен ошибок Intrusion Detection System Manager для сопоставления кодов ошибок и исключений.
Класс подключает модуль Intrusion Detection System Manager к системе обработки ошибок AUTOSAR Adaptive Platform и определяет специфичные для домена коды ошибок, а также исключения [SWS_AIDSM_10706]. К его основным задачам относятся идентификация домена, предоставление понятных человеку сообщений об ошибках для кодов ошибок, а также преобразование ошибок в типизированные исключения через ThrowAsException[SWS_AIDSM_10712]. Поскольку конструктор по умолчанию удален, доступ, вероятно, осуществляется через глобальный экземпляр, вызовы методов которого специфицированы как полностью потокобезопасные. Вопрос (открытый)
Контекст
Класс ara::idsm::IdsmErrorDomain функционирует в AUTOSAR Adaptive Platform в модуле idsm как центральный домен ошибок для идентификации и классификации системных состояний ошибок Intrusion Detection System Manager [SWS_AIDSM_10706]. Являясь финальной специализацией базового класса ara::core::ErrorDomain, он бесшовно интегрирует подсистему IdsM в единую модель обработки ошибок Adaptive Platform [SWS_AIDSM_10706]. Класс определяется в заголовочном файле ara/idsm/idsm_error_domain.h.
В рамках архитектуры ошибок класс связывает соответствующие определения типов для обработки ошибок IdsM: через псевдоним типа Errc он ссылается на специфичное для области перечисление кодов ошибок IdsmErrc[SWS_AIDSM_10707], тогда как псевдоним типа Exception привязан к специфичному для модуля классу исключений IdsmException[SWS_AIDSM_10708]. Кроме того, через переопределенный метод Name() он предоставляет уникальный идентификатор домена для целей диагностики и журналирования [SWS_AIDSM_10710].
Создание экземпляров IdsmErrorDomain подчиняется строгим ограничениям. Конструктор по умолчанию явно удален (IdsmErrorDomain() = delete;) [SWS_AIDSM_10709]. Поэтому вызывающие компоненты и приложения не могут инстанцировать класс посредством обычного создания объекта. Предоставление экземпляра домена на практике, вероятно, осуществляется через статическую функцию доступа модуля в виде долгоживущего singleton, как это принято для доменов ошибок в AUTOSAR Adaptive Platform. Вопрос Q-f791746dd8b5c3d5 (открытый)
Являясь чисто функциональным доменом ошибок, класс не имеет изменяемых внутренних состояний и не проходит сложных фаз жизненного цикла или переходов между состояниями. Что касается многопоточности, все предоставляемые вызовы методов (Name(), Message(), а также ThrowAsException()) явно специфицированы как потокобезопасные [SWS_AIDSM_10710], [SWS_AIDSM_10711], [SWS_AIDSM_10712]. Таким образом, экземпляры домена ошибок могут безопасно использоваться параллельно несколькими потоками системы без дополнительных внешних механизмов синхронизации.
Путь использования
В практическом применении класс служит для трансляции и передачи ошибок IdsM внутри программной системы посредством следующих типичных шагов:
Идентификация и диагностика: с помощью метода Name() можно запросить идентификатор домена ошибок, чтобы определить, поступила ли возникшая ошибка из модуля IdsM [SWS_AIDSM_10710].
Текстовое сообщение об ошибке: при наличии определенного кода ошибки из IdsmErrc (псевдоним Errc) вызов Message(errorCode) возвращает понятное описание причины ошибки в виде строки [SWS_AIDSM_10707], [SWS_AIDSM_10711].
Генерация исключения: если иерархии вызовов требуется исключение вместо обработки ошибок по значению, метод ThrowAsException(errorCode) напрямую преобразует код ошибки в соответствующее исключение [SWS_AIDSM_10712].
Благодаря этому пути использования домен поддерживает как проверку ошибок по значению через ara::core::ErrorCode, так и классические потоки управления на основе исключений при возникновении ошибки.
Сценарии ошибок
Условия ошибок внутри модуля IdsM представляются значениями перечисления IdsmErrc, доступ к которым осуществляется типизированно через псевдоним Errc[SWS_AIDSM_10707]. Домен ошибок управляет тем, как эти коды ошибок переводятся в исключительные ситуации.
Метод ThrowAsException(const ara::core::ErrorCode& errorCode) аннотирован как noexcept(false) и генерирует исключение, относящееся к переданному коду ошибки [SWS_AIDSM_10712]. Данным типом является IdsmException, который подключен через псевдоним Exception[SWS_AIDSM_10708]. Интерпретация: в случае ошибки вызов не возвращает управление штатным образом, а принудительно прерывает текущий контекст выполнения путем генерации исключения. Вопрос Q-52ca402c6c38a110 (открытый) В отличие от этого, Name() и Message() благодаря объявлению noexcept гарантируют, что при простом запросе имени или сообщения непреднамеренные исключения никогда не возникнут [SWS_AIDSM_10710], [SWS_AIDSM_10711].
Данное руководство сгенерировано автоматически на основе спецификации AUTOSAR для R25-11.
Синопсис
class IdsmErrorDomain final : public ara::core::ErrorDomain {...};
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал