DEENESPTFRRUARHIKOZHNL

klasse ara::diag::DiagException

[SWS_DM_00515] Upstream: RS_AP_00119

class DiagException :            public ara::core::Exception {...};

Exception type thrown by Diag classes.

Header-Datei#include "ara/diag/diag_error_domain.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag
Basisklasse(n)ara::core::Exception

User GuideAI-GEGENEREERD

Dient voor het inkapselen en doorsturen van diagnose-foutcodes als C++-uitzondering naar bovenliggende functie-aanroepers.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 61473cb95c98 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient voor het inkapselen en doorsturen van diagnose-foutcodes als C++-uitzondering naar bovenliggende functie-aanroepers.

De klasse ara::diag::DiagException fungeert als gespecialiseerd uitzonderingstype voor het signaleren van fouten uit diagnoseklassen van het AUTOSAR Adaptive Platform ([SWS_DM_00515]). Deze kapselt een ara::core::ErrorCode in en wordt geworpen bij interne fouten om fouttoestanden gestructureerd door te sturen naar aanroepende applicaties ([SWS_DM_00516]). De constructor is thread-safe en door noexcept als uitzonderingsveilig gedeclareerd ([SWS_DM_00516]).

Context

De klasse ara::diag::DiagException vormt het centrale uitzonderingstype voor het functionele cluster van AUTOSAR Adaptive Platform Diagnostics (SWS Diagnostics §8.11.4 “Class: DiagException”, [SWS_DM_00515]). Deze is rechtstreeks afgeleid van de basisklasse ara::core::Exception en is ervoor verantwoordelijk fouttoestanden die binnen de diagnoseklassen optreden in uitzonderingsgevallen te melden aan de aanroeper. Primaire interactiepartners zijn de aanbiedende diagnoseklassen binnen ara::diag, die uitzonderingssituaties signaleren, evenals de gebruikende applicatiesoftware, die diagnose-operaties aanvraagt en potentiële uitzonderingen afvangt. Door de declaratie in het headerbestand ara/diag/diag_error_domain.h staat de uitzonderingsklasse in directe verbinding met de diagnosespecifieke foutdomeinen ([SWS_DM_00516]).

Levenscyclus

De instantiatie van ara::diag::DiagException vindt plaats door het overdragen van een foutcode van het type ara::core::ErrorCode aan de constructor ([SWS_DM_00516]). Deze constructor is gedefinieerd als explicit, waardoor impliciete typeconversies vanuit foutcodes worden voorkomen. Bovendien is de creatie gedeclareerd als noexcept, wat de uitzonderingsveiligheid (\"exception safe\") bij objectcreatie garandeert en voorkomt dat er tijdens het activeren van een uitzonderingstoestand nog een uitzondering wordt geworpen ([SWS_DM_00516]). Voor de aanroep van de constructor wordt thread-veiligheid (\"thread-safe\") gegarandeerd ([SWS_DM_00516]). Wat betreft de verdere levenscyclus bestaat het exception-object voor de duur van het stack-unwinding-proces tot aan de voltooiing van het bijbehorende catch-blok (interpretatie: het eigendom en de vernietiging van het uitzonderingsobject volgen de gestandaardiseerde mechanismen van de C++-runtime-omgeving). Vraag Q-ae485b4ea411b187 (open)

Gebruikspad

Het reguliere inzetpad van ara::diag::DiagException strekt zich uit van de detectie van een foutsituatie in het diagnosesubsysteem tot de evaluatie door de applicatielaag. Het volgende verloop verduidelijkt de interactie tussen de betrokken componenten:

Verloop bij het genereren en afhandelen van een DiagExceptionAnwendungara::diag-KlasseDiagExceptionDiagnosefunktion aufrufenUse Case: Foutsituatie in het diagnoseclusterDiagException(err) instanziierenthrow DiagExceptionExceptie in het catch-blok afhandelen

Sequentiediagram: Typisch verloop bij het optreden, activeren en afhandelen van een DiagException. Bronnen: [SWS_DM_00515], [SWS_DM_00516].

De applicatie initieert eerst een operatie op een functionele klasse van de module ara::diag. Als er tijdens de verwerking een conditie optreedt die een regulier retourpad uitsluit, creëert de diagnoseklasse een instantie van ara::diag::DiagException onder vermelding van de specifieke ara::core::ErrorCode ([SWS_DM_00516]). Deze uitzondering wordt via het normale C++-uitzonderingsmechanisme geworpen. De aanroepende applicatie-instantie vangt het object af in een getypeerde exception handler om passende herstel- of loggingmaatregelen te initiëren.

Foutscenario's

Als foutsignaleringsklasse faciliteert ara::diag::DiagException primair het doorgeven van diagnostische fouttoestanden. Preconditie voor de succesvolle constructie is het beschikbaar stellen van een geïnitialiseerde parameter err van het type ara::core::ErrorCode ([SWS_DM_00516]). De uitzonderingsveiligheid van de constructor zorgt ervoor dat zelfs in situaties met kritieke resources geen secundaire uitzonderingen in het constructiepad worden geactiveerd ([SWS_DM_00516]). Na succesvolle instantiatie kapselt het object de doorgegeven foutcode volledig in (interpretatie: de concrete diagnose-foutcode wordt vermoedelijk via de overgeërfde basismechanismen van ara::core::Exception geïnspecteerd door de afvangende applicatielogica). Vraag Q-d20a61b72951321b (open)

Deze handleiding is gecureerd door een AI op basis van de specificatie AUTOSAR AP R25-11.

UML-klassendiagram

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

G nara__diag__DiagException942 DiagException + DiagException() nara__core__Exception792 Exception nara__diag__DiagException942->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

Constructors en destructor

Construct a new DiagException from an ErrorCode.

explicit DiagException (ara::core::ErrorCode err) noexcept;

Documentatie van de methoden

functie DiagException [SWS_DM_00516] Upstream: RS_AP_00119

explicit DiagException (ara::core::ErrorCode err) noexcept;

Construct a new DiagException from an ErrorCode.

Header-Datei#include "ara/diag/diag_error_domain.h"
Scopeclass ara::diag::DiagException
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_DM_00516
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00516@rel:R25-11#0f21690e
Content hash
0f21690e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00516
Status: valid/unmigrated Version: rel:R25-11#6bef63b1 Versionshistorie & Revisions (1 transition, 7 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_DM_00516@rel:R25-11#6bef63b1
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#027392ad2026-09-30
  • R20-11rel:R20-11#f80be4a32026-10-14
  • R21-11rel:R21-11#e1dfd6d02026-10-14
  • R22-11rel:R22-11#c06b421b2026-10-14
  • R23-11rel:R23-11#d17f9fbb2026-10-14
  • R24-11rel:R24-11#6bef63b12026-10-14
  • R25-11rel:R25-11#6bef63b12026-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