Diese Seite wurde vollständig KI-generiert auf Basis von SWS Raw Data Stream (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
class RdsException : public ara::core::Exception {...};
Exception type for Raw Data Stream.
Header-Datei
#include "ara/rds/rds_error_domain.h"
Scope
namespace ara::rds
User GuideKI-GENERIERT
Dient als domänenspezifischer Ausnahmetyp für die Fehlerbehandlung bei Operationen auf dem Raw Data Stream.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b9745284d7f2HerkunftOffene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Dient als domänenspezifischer Ausnahmetyp für die Fehlerbehandlung bei Operationen auf dem Raw Data Stream.
Die Klasse ara::rds::RdsException repräsentiert den spezialisierten Ausnahmetyp für das Modul Raw Data Stream und dient der Weitergabe von Fehlern auf Basis von ara::core::ErrorCode[SWS_RDS_11292]. Die Instanziierung erfolgt typischerweise im Rahmen der Fehlerbehandlung durch ThrowAsException, wodurch ein strukturierter Abbruch des fehlerhaften Ablaufs ausgelöst wird [SWS_RDS_11297]. Durch den als noexcept deklarierten Konstruktor ist garantiert, dass bei der Erzeugung der Ausnahme keine Folgefehler im Laufzeitsystem auftreten. Aufrufender Anwendungscode muss die Ausnahme abfangen, um einen Programmabbruch zu verhindern.
Kontext
Die Klasse ara::rds::RdsException fungiert im Kontext von AUTOSAR Adaptive als dedizierter Ausnahmetyp für den Raw Data Stream (rds), wie in SWS RawDataStream §1 „Raw Data Stream“ spezifiziert ist. Sie leitet sich direkt von der allgemeinen Basisklasse ara::core::Exception ab und integriert das Fehlermodell des Moduls nahtlos in die Ausnahmebehandlung der Plattform. Innerhalb des RDS-Namensraums wird der Typ über das Typ-Alias Exception bereitgestellt [SWS_RDS_11327], was Anwendern und Modulkomponenten eine einheitliche und vereinfachte Nomenklatur ermöglicht. Als primäre Interaktionspartner treten Fehlerdomänen wie die in ara/rds/rds_error_domain.h deklarierte Domäne sowie Anwendungscode auf, der Fehler über Ausnahmen behandelt [SWS_RDS_11292].
Lebenszyklus
Instanzen von ara::rds::RdsException werden bedarfsgerecht erzeugt, sobald ein aufgetretenes Fehlerereignis den Abbruch des regulären Kontrollflusses erzwingt. Die Instanziierung erfolgt über einen expliziten Konstruktor, der ein ara::core::ErrorCode-Objekt übernimmt [SWS_RDS_11292]. Dieser Konstruktor ist als noexcept deklariert, wodurch garantiert ist, dass die Objekterzeugung selbst unter keinen Umständen fehlschlägt oder eine weitere Ausnahme auslöst. Das Ausnahmeobjekt unterliegt der regulären C++-Wertsemantik: Es wird beim Werfen in den Exception-Speicher der Laufzeitumgebung übergeben. Wie bei Ausnahmetypen in ara::core üblich, dürfte der Zerstörungszeitpunkt an das Verlassen des zuständigen catch-Blocks gebunden sein, sobald die Referenz auf das Ausnahmeobjekt erlischt. Frage Q-5673ede6a9688b85 (offen) In nebenläufigen Ausführungsumgebungen verhält sich die Klasse thread-sicher, da jede Ausnahmesituation auf Thread-lokaler Ebene isoliert instanziiert und propagiert wird.
Nutzungspfad
Der typische Nutzungspfad umfasst die Erkennung eines Fehlerzustands im Stream-Betrieb, die Wandlung des Fehlercodes in eine Ausnahme und das nachgelagerte Abfangen im Anwendungscode. Tritt während einer Operation ein Fehler auf, wird dieser primär als ara::core::ErrorCode repräsentiert. Anstelle einer manuellen Abfrage kann die Ausnahmeauslösung über die Methode ThrowAsException eingeleitet werden, welche die Umwandlung und den Auslösevorgang kapselt [SWS_RDS_11297]. Interpretation: Der Aufruf von ThrowAsException delegiert vermutlich intern direkt an den Konstruktor von RdsException und wirft die neu erzeugte Instanz mittels throw[SWS_RDS_11292]. Frage Q-d8734426a5c71e07 (offen) Der aufrufende Code fängt die Ausnahme über den konkreten Typ ara::rds::RdsException, das Alias ara::rds::Exception[SWS_RDS_11327] oder polymorph über ara::core::Exception ab.
Sequenzdiagramm: Zusammenspiel bei der Auslösung und dem Abfangen einer RDS-Ausnahme über einen ErrorCode. Quellen: [SWS_RDS_11292], [SWS_RDS_11297].
Fehlerszenarien
Fehlerszenarien rund um ara::rds::RdsException betreffen vor allem die Konsistenz der Fehlerfortpflanzung und die Vermeidung unbehandelter Programmabbrüche. Die Auslöseoperation ThrowAsException ist explizit als noexcept(false) definiert [SWS_RDS_11297], da das Werfen der Ausnahme das beabsichtigte Verhalten bei Fehlern darstellt. Ein kritisches Fehlerszenario entsteht, wenn aufrufender Code den potenziellen Kontrollflussabbruch ignoriert und keinen passenden Ausnahme-Handler bereitstellt; eine unvollständige Behandlung führt zum unmittelbaren Abbruch des Prozesses via std::terminate. Durch die noexcept-Garantie des Konstruktors [SWS_RDS_11292] ist jedoch sichergestellt, dass bei der Bereitstellung der Ausnahme selbst kein verschachtelter Initialisierungsfehler auftreten kann.
Dieser Leitfaden basiert auf den Anforderungen der AUTOSAR-Spezifikation für Raw Data Stream (R25-11).
gemini-3.8-flash-medium· 2026-10-13