DEENESPTFRRUARHIKOZHNL

klasse ara::diag::DiagOfferException

[SWS_DM_00985] Upstream: RS_AP_00119

class DiagOfferException :           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 foutsignalering via uitzonderingen met een foutcode bij het beschikbaar stellen van diagnosediensten.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 3b24259852fb Herkomst Open vragen (3)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient voor foutsignalering via uitzonderingen met een foutcode bij het beschikbaar stellen van diagnosediensten.

De klasse ara::diag::DiagOfferException dient als specifiek C++-uitzonderingstype dat door diagnoseklassen van het AUTOSAR Adaptive Platform wordt geworpen voor het signaleren van fouten ([SWS_DM_00985]). Deze is afgeleid van ara::core::Exception en wordt via een noexcept-constructor onder opgave van een ara::core::ErrorCode thread-veilig geïnstantieerd ([SWS_DM_00986]). De uitzondering treedt vermoedelijk primair op bij het mislukken van het aanbieden van diagnosediensten en moet door de aanroepende applicatie worden afgevangen om een ongecontroleerde procesbeëindiging te voorkomen. Vraag (open)

Context

De klasse ara::diag::DiagOfferException is een centraal uitzonderingstype van de diagnosemodule binnen het AUTOSAR Adaptive Platform ([SWS_DM_00985], SWS Diagnostics §8.11.6 “Class: DiagOfferException”). Volgens de specificatie betreft het een uitzondering die door diagnoseklassen wordt geworpen (\"Exception type thrown by Diag classes\"). De klasse is publiek afgeleid van de basisklasse ara::core::Exception en moet via de header ara/diag/diag_error_domain.h in applicaties worden opgenomen ([SWS_DM_00986]).

Tot de primaire interactiepartners behoren functionele klassen van het diagnosebeheer, de onderliggende foutarchitectuur van AUTOSAR Adaptive (gerepresenteerd door ara::core::ErrorCode) en de toepassende software die diagnosediensten aanbiedt. De klassenaam suggereert dat deze uitzondering vermoedelijk wordt gebruikt wanneer het aanbieden of registreren van diagnosediensten door overeenkomstige Diag-klassen mislukt (interpretatie). Vraag Q-47046201c9fd38c3 (open)

Levenscyclus

De instantiatie van ara::diag::DiagOfferException geschiedt via de enige gespecificeerde constructor explicit DiagOfferException(ara::core::ErrorCode err) noexcept ([SWS_DM_00986], SWS Diagnostics §8.11.6.1.1.1 “DiagOfferException”). Daarbij wordt de uitzondering rechtstreeks aan een concrete foutcode gekoppeld. Omdat de constructor gedeclareerd is als noexcept, is gegarandeerd dat bij de creatie van het uitzonderingsobject zelf geen verdere fouten of recursieve uitzonderingen optreden ([SWS_DM_00986]).

Wat betreft de levenscyclus is de klasse onderworpen aan de gebruikelijke mechanismen van C++-uitzonderingsafhandeling: deze wordt aangemaakt in het exception-geheugen van de runtime-omgeving, via de callstack getransporteerd en na afhandeling van het behandelende catch-blok automatisch vrijgegeven. Volgens de specificatie is de constructie thread-safe en exception-safe ([SWS_DM_00986]). Het uitzonderingsobject kent na creatie geen complexe interne toestandswisselingen; het fungeert vermoedelijk als een onveranderlijke transportlaag voor de overgedragen foutcode (interpretatie). Vraag Q-09c6e0ad610717e9 (open)

Gebruikspad

Het typische verloop bij het gebruik van ara::diag::DiagOfferException is onderverdeeld in de volgende fasen:

  • Een applicatie roept een methode van een diagnoseklasse aan om een diagnosedienst of -poort beschikbaar te stellen (offer-operatie).
  • De diagnoseklasse stelt tijdens de initialisatie of registratie een foutconditie vast en instantieert een passende ara::core::ErrorCode.
  • De diagnoseklasse construeert een instantie van ara::diag::DiagOfferException onder overdracht van deze foutcode ([SWS_DM_00986]) en werpt deze uitzondering.
  • De aanroepende applicatiesoftware vangt de uitzondering af binnen een try-catch-blok.
  • De aanroeper extraheert de foutcode uit de uitzondering en initieert geschikte uitval- of herhalingsstrategieën.
Foutafhandeling bij mislukt aanbieden via DiagOfferExceptionAnwendungDiag-KlasseDiagOfferExceptionDienst anbieten (Offer)Fehler festgestellt: ErrorCode erzeugenDiagOfferException(err)throw DiagOfferExceptioncatch (const DiagOfferException& e)ErrorCode evalueren en afhandelen

Sequentiediagram: Typisch verloop bij de signalering en afhandeling van een fout via DiagOfferException. Bronnen: [SWS_DM_00985], [SWS_DM_00986].

Foutscenario's

ara::diag::DiagOfferException dient zelf als signaleringsmechanisme voor foutsituaties. Als voorwaarde voor instantiëring moet de aanroepende instantie over een geldige ara::core::ErrorCode beschikken ([SWS_DM_00986]). Aangezien de constructor gedefinieerd is als noexcept, leidt de instantiëring onder geen enkele voorwaarde tot secundaire uitzonderingen ([SWS_DM_00986]).

Wordt een geworpen DiagOfferException niet afgevangen door de toepassingssoftware, dan leidt dit standaard tot het aanroepen van std::terminate en daarmee tot het ongecontroleerd crashen van het proces. Door overerving van ara::core::Exception is het vermoedelijk de bedoeling dat naast het specifiek afvangen van ara::diag::DiagOfferException ook een generieke handler voor ara::core::Exception kan ingrijpen (interpretatie), om robuuste fouttolerantie op procesniveau te waarborgen. Vraag Q-d0cf602a077c4dae (open)

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive R25-11 (module diag) en is geautomatiseerd gegenereerd voor autodocs.

UML-klassendiagram

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

G nara__diag__DiagOfferException442 DiagOfferException + DiagOfferException() nara__core__Exception792 Exception nara__diag__DiagOfferException442->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

Constructors en destructor

Construct a new DiagException from an ErrorCode.

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

Documentatie van de methoden

functie DiagOfferException [SWS_DM_00986] Upstream: RS_AP_00119

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

Construct a new DiagException from an ErrorCode.

Header-Datei#include "ara/diag/diag_error_domain.h"
Scopeclass ara::diag::DiagOfferException
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_00986
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00986@rel:R25-11#9869eda5
Content hash
9869eda5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00986
Status: valid/unmigrated Version: rel:R25-11#5fd23a99 Versionshistorie & Revisions (1 transition, 4 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_00986@rel:R25-11#5fd23a99
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#346e60702026-09-30
  • R23-11rel:R23-11#f79e89952026-10-14
  • R24-11rel:R24-11#5fd23a992026-10-14
  • R25-11rel:R25-11#5fd23a992026-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