Encapsulation of an ErrorDomain. An ErrorDomain is the controlling entity for ErrorCode’s error code values, and defines the mapping of such error code values to textual representations. This type constitutes a base class for ErrorDomain implementations. This class is a literal type, and subclasses are strongly advised to be literal types as well.
Dient als basisklasse voor de besturing van foutcodes en beeldt domeinspecifieke foutwaarden af op tekstberichten.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: d0712f7c0a23HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Dient als basisklasse voor de besturing van foutcodes en beeldt domeinspecifieke foutwaarden af op tekstberichten.
De klasse ara::core::ErrorDomain dient als abstracte basisklasse voor de besturing van foutwaarden en wijst domeinspecifieke codes toe aan hun tekstuele weergaven [SWS_CORE_00153]. Subklassen kapselen een systeemwijd uniek identificatienummer in en definiëren de vertaling naar onveranderlijke foutteksten evenals de typespecifieke uitzonderingsafhandeling. Om het gebruik als Literal Type tijdens compileertijd mogelijk te maken, beschikt de basisklasse over een niet-virtuele, beschermde destructor [SWS_CORE_00136]. Kopieer- en verplaatsingsoperaties zijn daarbij volledig verhinderd, zodat instanties fungeren als onveranderlijke identiteiten.
Context
De klasse ara::core::ErrorDomain vormt de gemeenschappelijke basis voor het gestructureerde foutbeheer in het AUTOSAR Adaptive Platform. Hij fungeert als abstracte basisklasse voor concrete foutdomeinen en neemt de centrale besturingsverantwoordelijkheid op zich voor foutwaarden die in ara::core::ErrorCode ingekapseld worden. Elk domein spant een eigen naamruimte op en definieert de afspiegeling van domeinspecifieke foutwaarden van het type CodeType ([SWS_CORE_00122]) op veelzeggende tekstweergaven via Message() ([SWS_CORE_00153]). Daarnaast stelt de klasse de type-alias IdType ([SWS_CORE_00121]) voor systeemwijd unieke domein-ID's en SupportDataType ([SWS_CORE_00123]) voor fabrikantspecifieke aanvullende gegevens beschikbaar.
In het totale systeem interageert ara::core::ErrorDomain met drie belangrijke partners:
Subklassen: Specifieke foutdomeinen erven over van ara::core::ErrorDomain en implementeren de zuiver virtuele memberfuncties voor domeinnamen, foutmeldingen en uitzonderingsafhandeling.
ara::core::ErrorCode: Representeert een concrete foutwaarde en delegeert het bepalen van de beschrijvende tekst aan het toegewezen foutdomein.
Client / applicatiecode: Vraagt via de foutcode of rechtstreeks bij het domein statusinformatie op ([SWS_CORE_00152]) of ontvangt geworpen C++-exceptions ([SWS_CORE_00154]).
Het instantiëren van ara::core::ErrorDomain vindt beschermd plaats: de constructor heeft de zichtbaarheid protected en verwacht een systeemwijd unieke domein-ID van het type IdType ([SWS_CORE_00135]). Omdat de constructor als constexpr en noexcept gedeclareerd is, ondersteunt de basisklasse het aanmaken als Literal Type tijdens compileertijd. Subklassen wordt uitdrukkelijk aangeraden deze eigenschap als Literal Type eveneens te waarborgen.
Elke duplicatie of overdracht van domeininstanties is verhinderd:
De destructor is gedeclareerd als protected en gedefinieerd als standaardimplementatie ([SWS_CORE_00136]). Hij is bewust triviaal en niet-virtueel gehouden, zodat de klasse een Literal Type kan blijven. Hoewel ara::core::ErrorDomain zuiver virtuele interfaces biedt, is er geen polymorfe vernietiging via basisklasse-pointers vereist ([SWS_CORE_00136]). Concrete domeininstanties zullen in de praktijk vermoedelijk als langdurig levende of statische objecten worden beheerd (interpretatie). Vraag Q-a874dd64f6320d21 (open)
Wat betreft eigendomsverhoudingen blijven alle pointers naar namen ([SWS_CORE_00152]) en foutteksten ([SWS_CORE_00153]) in het bezit van de domeinklasse en mogen ze door clients niet worden vrijgegeven. Alle lees- en vergelijkingsoperaties zijn thread-safe en exception-safe ([SWS_CORE_00135], [SWS_CORE_00151]).
Gebruikspad
Twee instanties van ara::core::ErrorDomain vergelijken dan en slechts dan als gelijk wanneer hun via Id() ([SWS_CORE_00151]) bepaalde domein-ID's overeenkomen ([SWS_CORE_00137], [SWS_CORE_00138]). Het typische verloop bij foutresolutie en uitzonderingsafhandeling is onderverdeeld in de volgende stappen:
Domeinidentificatie: De client of het foutobject bepaalt de domeinnaam als nul-getermineerde tekenreeks via Name() ([SWS_CORE_00152]).
Meldingresolutie: Via Message(errorCode) wordt de numerieke foutwaarde aan het domein overgedragen ([SWS_CORE_00153]). Het domein retourneert een pointergebaseerde, nul-getermineerde fouttekst die nooit nullptr is.
Uitzonderingsafhandeling: Als een foutcode moet worden omgezet in een uitzondering, roept de client ThrowAsException(errorCode) aan ([SWS_CORE_00154]). Het domein werpt vervolgens een passende instantie van ara::core::Exception op die de doorgegeven foutcode inkapselt.
Bij het omgaan met ara::core::ErrorDomain moet rekening worden gehouden met de volgende foutscenario's en interfacevereisten:
Verkeerde domeintoebehorendheid: Als aan de methode Message() een errorCode wordt meegegeven die niet uit deze specifieke ErrorDomain afkomstig is, vormt dit de gespecificeerde schending WrongDomainOfAn-ErrorCodeViolation ([SWS_CORE_00153]). Oproepers moeten waarborgen dat de foutcode bij de domeininstantie past.
Uitgeschakelde C++-exceptions: De methode ThrowAsException() is niet exception-safe (not exception safe) en werpt een uitzondering op ([SWS_CORE_00154]). Als C++-exceptions in de compiler-toolchain zijn uitgeschakeld, mag deze functie niet deelnemen aan overload resolution ([SWS_CORE_00154]).
Null-pointer-uitsluiting: Noch Name() noch Message() mag ooit nullptr retourneren ([SWS_CORE_00152], [SWS_CORE_00153]). Een subklasse-implementatie die nullptr levert, schendt de interfacespecificatie.
Deze handleiding werd gegenereerd door een AI-curatie-assistent op basis van de AUTOSAR-specificatie R25-11.
Compare for equality with another ara::core::ErrorDomain instance. Two ara::core::ErrorDomain instances compare equal when their identifiers (returned by Id()) are equal
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 59f6b727c495Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De lidfunctie Id() van de klasse ara::core::ErrorDomain uit het headerbestand ara/core/error_domain.h levert synchroon de unieke identifier van het betreffende foutdomein terug ([SWS_CORE_00151]). De aanroep verwacht geen overdrachtsparameters en retourneert de domeinidentificator als waarde van het type IdType, waardoor een eenduidig onderscheid tussen verschillende foutdomeinen in het gehele systeem wordt gewaarborgd.
Voor de foutafhandeling is relevant dat de functie gedeclareerd is als noexcept en geclassificeerd is als exception safe ([SWS_CORE_00151]). Deze werpt bijgevolg nooit excepties op en meldt noch foutcodes noch speciale gevallen. Door de eigenschap als constexpr-methode kan de identifier desgewenst reeds tijdens compile-time worden geëvalueerd en in constante expressies worden gebruikt.
Met betrekking tot gelijktijdigheid en aanroepvoorwaarden is Id() gespecificeerd als thread-safe ([SWS_CORE_00151]). De aanroep is toestandloos en vrij van wijzigende neveneffecten, zodat willekeurig veel threads simultaan en zonder externe vergrendelingsmechanismen toegang mogen hebben tot dezelfde instantie.
In het samenspel binnen de domeinarchitectuur vormt de identifier het primaire vergelijkingscriterium: Twee instanties van ara::core::ErrorDomain gelden volgens de specificatie dan en slechts dan als gelijk wanneer hun door Id() geleverde id's overeenkomen, wat direct door de gelijkheidsoperator operator== wordt gerealiseerd ([SWS_CORE_00137]).
Deze gebruiksinstructie is opgesteld door een AI en is gebaseerd op AUTOSAR Adaptive R25-11.
Return a textual representation of the given errorCode.
The returned pointer remains owned by the ara::core::ErrorDomain sub-class and shall not be freed by clients.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 9827a3eb35a8HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De puur virtuele functie Message van de basisklasse ara::core::ErrorDomain uit de header ara/core/error_domain.h dient voor het synchroon opvragen van een tekstuele representatie voor een doorgegeven domeinspecifieke foutcode errorCode[SWS_CORE_00153]. Ze retourneert een pointer naar een met null getermineerde tekenreeks (const char *), die gegarandeerd nooit nullptr is. Het gerefereerde geheugen blijft in het bezit van de desbetreffende subklasse van ara::core::ErrorDomain en mag onder geen enkel beding door aanroepende clients worden vrijgegeven [SWS_CORE_00153].
Met betrekking tot gelijktijdigheid en robuustheid is de methode gedeclareerd als noexcept, geldt ze als uitzonderingsveilig (exception safe) en is ze onbeperkt thread-safe (thread-safe) ontworpen [SWS_CORE_00153]. Wat betreft mogelijke fouttoestanden is gespecificeerd dat een errorCode die niet afkomstig is uit de desbetreffende instantie van ara::core::ErrorDomain, leidt tot een schending van het type WrongDomainOfAnErrorCodeViolation[SWS_CORE_00153].
In samenspel met het AUTOSAR-foutafhandelingsmodel overschrijven concrete foutdomeinen zoals ara::core::FutureErrorDomain[SWS_CORE_00443] en ara::core::CoreErrorDomain[SWS_CORE_05243] deze methode om domeinspecifieke foutcodes om te zetten in concrete berichtteksten. Interpretatie: het samenspel met ara::core::ErrorCode::Message()[SWS_CORE_00518], dat een tekstuele representatie als StringView retourneert, is er vermoedelijk op gebaseerd dat ErrorCode de vertaling doorstuurt naar de methode Message van het geassocieerde foutdomein. Vraag Q-f9007fdf5234b6a4 (open)
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen.
This function will determine the appropriate exception type for the given ErrorCode according to [SWS_CORE_10953] and throw it. The thrown exception will contain the given ErrorCode.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: f434ab45abb9Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De zuiver virtuele methode ThrowAsException van de klasse ara::core::ErrorDomain dient ertoe een meegegeven foutcode synchroon als uitzondering van het type ara::core::Exception te activeren [SWS_CORE_00154]. De functie neemt als invoerparameter een referentie naar const ErrorCode &errorCode in ontvangst en heeft geen retourwaarde, aangezien de uitvoering wordt beëindigd door het opwerpen van de exceptie [SWS_CORE_00154].
Wat betreft het fout- en uitzonderingsgedrag bepaalt het desbetreffende domein het type uitzondering dat past bij de meegegeven foutcode conform [SWS_CORE_10953] en werpt dit op [SWS_CORE_00154]. De gegenereerde exception bevat de meegegeven ErrorCode[SWS_CORE_00154]. De functie is geclassificeerd als niet-uitzonderingsveilig (not exception safe) [SWS_CORE_00154].
Voor gelijktijdigheid en de compilercontext gelden de volgende voorschriften:
Thread-veiligheid: De aanroep van ThrowAsException is gespecificeerd als thread-safe (thread-safe) [SWS_CORE_00154].
Beperking bij uitgeschakelde C++-exceptions: Indien C++-exceptions in de compiler-toolchain zijn uitgeschakeld, mag de functie conform [SWS_CORE_10304] niet deelnemen aan de overbelastingsresolutie [SWS_CORE_00154].
In interactie met andere componenten vormt de functie de basis voor het activeren van uitzonderingen via foutobjecten: zo delegeert ara::core::ErrorCode::ThrowAsException het opwerpen naar het bijbehorende domein via this->Domain().ThrowAsException(*this)[SWS_CORE_00519]. Concrete implementaties overschrijven deze interface om specifieke exceptions zoals CoreException in CoreErrorDomain[SWS_CORE_05244] of FutureException in FutureErrorDomain[SWS_CORE_00444] op te werpen.
Deze tekst is opgesteld door een AI en is gebaseerd op de specificatie AUTOSAR Adaptive R25-11.
Any exception of the type as defined in [SWS_CORE_10953] containing the given ErrorCode
Hinweise: This function shall not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. As per [SWS_CORE_10304].
Request a governed re-review of this record. The record is not changed immediately.
This dtor is non-virtual (and trivial) so that this class can be a literal type. While this class has virtual functions, no polymorphic destruction is needed.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel