DEENESPTFRRUARHIKOZHNL

класс ara::core::CoreException

[SWS_CORE_05211] Upstream: RS_AP_00130

class CoreException :            public Exception {...};

Exception type thrown for ara::core errors.

Header-Datei#include "ara/core/core_error_domain.h"
Forwarding-Header#include "ara/core/core_fwd.h"
Scopenamespace ara::core
Basisklasse(n)Exception

Руководство пользователяСОЗДАНО ИИ

Служит типом исключения для сообщения об ошибках Core и инкапсулирует код ошибки для структурированной обработки исключений.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 2b622ea04d25 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Служит типом исключения для сообщения об ошибках Core и инкапсулирует код ошибки для структурированной обработки исключений.

Класс ara::core::CoreException служит центральным типом исключения для передачи ошибок из функциональной области ara::core и для этого наследует от базового класса Exception. Создание экземпляра обязательно выполняется через конструктор с передачей специфического ErrorCode, инкапсулирующего причину ошибки [SWS_CORE_05212]. В качестве важного граничного условия реализация гарантирует полную потокобезопасность и безопасность исключений, а также абсолютную гарантию noexcept при создании [SWS_CORE_05212]. Вызывающие стороны перехватывают исключение для контролируемой обработки содержащегося в нем состояния ошибки.

Контекст

Класс ara::core::CoreException служит центральным типом исключений для ошибок, возникающих в функциональной области ara::core. Согласно объявлению класса, он открыто наследует от базового класса Exception. Основная задача CoreException заключается в переносе возникшего события ошибки, описываемого объектом ErrorCode, в модель обработки исключений C++. В контексте платформы класс тем самым действует как мост между компонентом инфраструктуры, обнаруживающим ошибку, и вызывающим кодом приложения или платформы. Если операция в ara::core завершается сбоем и интерфейс предусматривает исключение, создается экземпляр CoreException и генерируется сигнал об ошибке. При этом конструктор согласно [SWS_CORE_05212] принимает конкретный объект типа ErrorCode, который инкапсулирует функциональную причину и домен возникшей ошибки. Встраивание в иерархию классов позволяет более высоким архитектурным уровням перехватывать ошибки либо специфически как CoreException, либо обрабатывать их обобщенно через базовый класс Exception.

ErrorCode ErrorCode CoreException CoreException ErrorCode->CoreException initialisiert Exception Exception CoreException->Exception erbt von

Контекстная диаграмма: связь CoreException с ErrorCode и базовым классом Exception. Источники: [SWS_CORE_05212]

Жизненный цикл

Жизненный цикл экземпляра CoreException начинается в контексте обнаружения ошибки. Создание выполняется через конструктор explicit CoreException(ErrorCode err) noexcept согласно [SWS_CORE_05212]. С помощью ключевого слова explicit предотвращается неявное преобразование из ErrorCode, что принудительно требует осознанного создания объекта. Важной особенностью конструирования является спецификация в качестве noexcept [SWS_CORE_05212]: создание экземпляра само по себе не может генерировать дальнейших исключений, благодаря чему обеспечивается надежное создание исключений даже в критических состояниях системы. Кроме того, безопасность исключений классифицирована как абсолютно безопасная (exception safe), а операция считается потокобезопасной (thread-safe) [SWS_CORE_05212]. После создания объект исключения обычно передается с помощью throw. Во время раскрутки стека (stack unwinding) исключение передается до тех пор, пока не будет связано подходящим обработчиком исключений. Жизненный цикл завершается выходом из перехватывающего блока, после чего детерминированно выполняется уничтожение объекта исключения.

Путь использования

Обычный путь использования CoreException делится на три последовательные фазы: диагностика, генерация (throw) и перехват (catch). Сначала компонент модуля core выявляет отклонение от требуемого поведения и создает экземпляр соответствующего ErrorCode. Затем создается исключение путем вызова конструктора CoreException(err) [SWS_CORE_05212]. Сразу после этого выполняется выброс объекта в контекст выполнения. На уровне пользователя вызов выполняется в защищенном блоке. При возникновении исключительной ситуации блок catch перехватывает экземпляр — обычно как константную ссылку на CoreException или полиморфно через базовый класс Exception. В обработчике ошибку можно проанализировать, залогировать или устранить. Поскольку заголовочный файл #include "ara/core/core_error_domain.h" задан согласно [SWS_CORE_05212], объявление класса согласованно доступно для модулей приложений.

Сценарии ошибок

В области сценариев сбоев сам CoreException служит носителем сигнала и не генерирует вторичных ошибок во время собственного создания. Поскольку конструктор объявлен как noexcept [SWS_CORE_05212], сценарий сбоя конструирования исключен. Спецификация гарантирует строгую безопасность исключений и потокобезопасность [SWS_CORE_05212], благодаря чему параллельный доступ при создании также остается безопасным. Критический сценарий сбоя возникает на системном уровне тогда, когда сгенерированное исключение CoreException не перехватывается ни в одной вышестоящей области видимости, что в стандартном C++, вероятно, приведет к вызову std::terminate. Вопрос Q-492683ca01bebc7d (открытый) Поэтому разработчики должны гарантировать, что вызовы потенциально генерирующих исключения функций ara::core встроены в подходящие блоки обработки исключений. Другой потенциальный сценарий касается пересылки через границы компонентов, при которой содержащийся ErrorCode должен быть корректно интерпретирован для запуска адекватных мер по устранению ошибки.

Данное руководство было сгенерировано ИИ-ассистентом курирования на основе AUTOSAR R25-11.

UML-диаграмма классов

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__core__CoreException713 CoreException + CoreException() nara__core__Exception792 Exception nara__core__CoreException713->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

Конструкторы и деструктор

CoreException функция

Construct a new CoreException from an ErrorCode.

explicit CoreException (ErrorCode err) noexcept;

Документация методов

функция CoreException [SWS_CORE_05212] Upstream: RS_AP_00130

explicit CoreException (ErrorCode err) noexcept;

Construct a new CoreException from an ErrorCode.

Header-Datei#include "ara/core/core_error_domain.h"
Scopeclass ara::core::CoreException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errthe ErrorCode

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CORE_05212
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CORE_05212@rel:R25-11#9b0fd739
Content hash
9b0fd739
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Core.pdf#nameddest=SWS_CORE_05212
Status: valid/unmigrated Version: rel:R25-11#fcccf313 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CORE_05212@rel:R25-11#fcccf313
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#89d8f3922026-09-30
  • R19-11rel:R19-11#7047abf42026-10-14
  • R20-11rel:R20-11#69aba1672026-10-14
  • R21-11rel:R21-11#69aba1672026-10-14
  • R22-11rel:R22-11#7a696c932026-10-14
  • R23-11rel:R23-11#cc26b8992026-10-14
  • R24-11rel:R24-11#fcccf3132026-10-14
  • R25-11rel:R25-11#fcccf3132026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill