DEENESPTFRRUARHIKOZHNL

klasse 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

User GuideAI-GEGENEREERD

Dient als uitzonderingstype voor het melden van core-fouten en kapselt een foutcode in voor gestructureerde uitzonderingsafhandeling.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 2b622ea04d25 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient als uitzonderingstype voor het melden van core-fouten en kapselt een foutcode in voor gestructureerde uitzonderingsafhandeling.

De klasse ara::core::CoreException dient als centraal uitzonderingstype voor het overbrengen van fouten uit het functionele gebied ara::core en erft hiervoor over van de basisklasse Exception. De instantiëring vindt verplicht plaats via de constructor onder overdracht van een specifieke ErrorCode, die de foutoorzaak inkapselt [SWS_CORE_05212]. Als essentiële randvoorwaarde garandeert de implementatie volledige thread-safety en exception-safety, evenals een uitzonderingsloze noexcept-garantie bij het aanmaken [SWS_CORE_05212]. Aanroepers vangen de uitzondering op om de aanwezige fouttoestand gecontroleerd af te handelen.

Context

De klasse ara::core::CoreException dient als centraal uitzonderingstype voor fouten die optreden binnen het functionele gebied ara::core. Volgens de klassedeclaratie erft zij publiek over van de basisklasse Exception. De kerntaak van CoreException bestaat erin een opgetreden foutgebeurtenis, die wordt beschreven door een ErrorCode-object, over te brengen naar het uitzonderingsafhandelingsmodel van C++. Binnen de platformcontext fungeert de klasse daarmee als brug tussen de foutdetecterende infrastructuurcomponent en de aanroepende applicatie- of platformcode. Wanneer een bewerking in ara::core mislukt en de interface in een uitzondering voorziet, wordt CoreException geïnstantieerd en gesignaleerd. Daarbij accepteert de constructor conform [SWS_CORE_05212] een concreet object van het type ErrorCode, dat de functionele oorzaak en het domein van de opgetreden fout inkapselt. De inbedding in de klassenhiërarchie stelt hogere architectuurlagen in staat fouten hetzij specifiek als CoreException op te vangen, hetzij generiek via de basisklasse Exception af te handelen.

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

Contextdiagram: Relatie van CoreException tot ErrorCode en de basisklasse Exception. Bronnen: [SWS_CORE_05212]

Levenscyclus

De levenscyclus van een instantie van CoreException begint in de context van foutdetectie. Het aanmaken geschiedt via de constructor explicit CoreException(ErrorCode err) noexcept conform [SWS_CORE_05212]. Door het sleutelwoord explicit wordt een impliciete conversie vanuit een ErrorCode verhinderd, zodat een doelbewuste objectcreatie wordt afgedwongen. Een wezenlijk kenmerk van de constructie is de specificatie als noexcept [SWS_CORE_05212]: de instantiëring zelf kan geen verdere uitzonderingen veroorzaken, waarmee een betrouwbare uitzonderingscreatie ook in kritieke systeemtoestanden gewaarborgd is. Bovendien is de uitzonderingsveiligheid geclassificeerd als volkomen veilig (exception safe) en geldt de bewerking als thread-safe (thread-safe) [SWS_CORE_05212]. Na aanmaak wordt het uitzonderingsobject gewoonlijk doorgegeven middels throw. Tijdens stack unwinding wordt de uitzondering getransporteerd totdat deze door een passende exception handler wordt gebonden. De levenscyclus eindigt bij het verlaten van het opvangende blok, waarna de vernietiging van het uitzonderingsobject deterministisch wordt voltooid.

Gebruikspad

Het reguliere gebruikspad van CoreException is onderverdeeld in drie opeenvolgende fasen: diagnose, werpen en opvangen. Eerst identificeert een component van de module core een afwijking van het gewenste gedrag en instantieert een bijbehorende ErrorCode. Vervolgens wordt de uitzondering gecreëerd door de constructor CoreException(err) aan te roepen [SWS_CORE_05212]. Onmiddellijk daarna vindt het werpen van het object in de uitvoeringscontext plaats. Op applicatieniveau wordt de aanroep in een beschermd blok uitgevoerd. Doet de uitzondering zich voor, dan vangt een catch-blok de instantie op – doorgaans als constante referentie naar CoreException of polymorf via de basisklasse Exception. In de handler kan de fout worden geanalyseerd, gelogd of hersteld. Aangezien het headerbestand #include "ara/core/core_error_domain.h" conform [SWS_CORE_05212] is voorgeschreven, is de klassedeclaratie consistent beschikbaar voor applicatiemodules.

Foutscenario's

Binnen het bereik van foutscenario's dient CoreException zelf als signaaldrager en werpt tijdens haar eigen creatie geen secundaire fouten. Omdat de constructor als noexcept is gedeclareerd [SWS_CORE_05212], is het scenario van een mislukte constructie uitgesloten. De specificatie garandeert strikte exception-safety en thread-safety [SWS_CORE_05212], zodat ook gelijktijdige toegang bij de creatie probleemloos blijft. Een kritiek foutscenario ontstaat op systeemniveau wanneer een geworpen CoreException door geen enkele bovenliggende scope wordt opgevangen, wat in standaard-C++ vermoedelijk leidt tot de aanroep van std::terminate. Vraag Q-492683ca01bebc7d (open) Ontwikkelaars moeten er daarom voor zorgen dat aanroepen van potentieel werpende ara::core-functies zijn ingebed in geschikte uitzonderingsafhandelingsblokken. Een ander potentieel scenario betreft het doorsturen over componentgrenzen heen, waarbij de aanwezige ErrorCode correct moet worden geïnterpreteerd om passende herstelmaatregelen te initiëren.

Deze handleiding is gegenereerd door een AI-curatie-assistent op basis van AUTOSAR R25-11.

UML-klassendiagram

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

Constructors en destructor

Construct a new CoreException from an ErrorCode.

explicit CoreException (ErrorCode err) noexcept;

Documentatie van de methoden

functie 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#e703c7d4
Content hash
e703c7d4
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