Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (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.
[AP_SWS_SHWA_00501] Wortlaut noch nicht übernommenUpstream: RS_SHWA_00008
class ErrorHandler final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Dient der Erfassung und Weiterleitung von Fehlern im Modul shwa an eine anwendungsspezifische Behandlungsroutine.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: d10c8775782fHerkunftOffene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Dient der Erfassung und Weiterleitung von Fehlern im Modul shwa an eine anwendungsspezifische Behandlungsroutine.
Die Klasse dient der zentralen Entgegennahme und Weiterleitung von Fehlern innerhalb des Moduls shwa. Instanzen können ausschließlich über die statische Factory-Methode erzeugt werden, die das Objekt in einem exklusiven Zeiger bereitstellt [AP_SWS_SHWA_00507]. Über die Methode zur Fehlerbehandlung werden spezifische Fehlercodes übergeben und verarbeitet [AP_SWS_SHWA_00508]. Da die Fehlerabwicklung weder threadsicher noch ausnahmesicher ausgelegt ist, muss die aufrufende Anwendung nebenläufige Zugriffe extern koordinieren.
Kontext
Die Klasse ara::shwa::ErrorHandler stellt im Modul shwa (Smart Hardware Actuator) eine spezialisierte Schnittstelle zur Entgegennahme und gezielten Weiterleitung von modulspezifischen Fehlerzuständen bereit. Als Bestandteil der AUTOSAR Adaptive Platform entkoppelt sie die eigentliche Hardware- und Aktuatorlogik von übergeordneten Fehlerbehandlungsstrategien. Die Klasse ist als final deklariert, wodurch eine Ableitung ausgeschlossen ist und ein fest definiertes Verwendungsverhalten erzwungen wird.
Wesentliche Interaktionspartner von ara::shwa::ErrorHandler sind:
Die nutzende Anwendung oder Plattformkomponente, welche die Instanz verwaltet und im Fehlerfall die Behandlungsmethode anstößt.
Der bei der Erzeugung registrierte Callback std::function<void(ara::core::ErrorCode)>, welcher die eigentliche Behandlungsreaktion auf Anwendungsebene ausführt.
Die modulspezifische Fehlerdomäne, repräsentiert durch den Typ ara::shwa::ShwaErrorCode.
Lebenszyklus
Der Lebenszyklus einer Instanz von ara::shwa::ErrorHandler unterliegt strengen Beschränkungen hinsichtlich Erzeugung, Kopierbarkeit und Speicherbesitz. Eine reguläre Konstruktion über Standardkonstruktoren ist ausgeschlossen, da der parameterlose Konstruktor gelöscht ist [AP_SWS_SHWA_00502]. Um eine eindeutige Identität und klare Verantwortlichkeiten zu gewährleisten, unterbindet die Klassendefinition jegliche Kopier- und Verschiebevorgänge:
Die einzige Möglichkeit zur Instanziierung bietet die statische Factory-Methode Create[AP_SWS_SHWA_00507]. Diese nimmt das Funktionsobjekt std::function<void(ara::core::ErrorCode)> entgegen und liefert das Ergebnis in Gestalt eines ara::core::Result<std::unique_ptr<ErrorHandler>> zurück. Durch den std::unique_ptr wird der exklusive Besitz des Objekts an den Aufrufer übertragen. Die Lebensdauer der Instanz ist damit direkt an die Lebensdauer des Smart Pointers gebunden; bei dessen Zerstörung wird auch der ErrorHandler freigegeben.
In Bezug auf die Nebenläufigkeit ist die Erzeugungsmethode Create als threadsicher (thread-safe) und ausnahmesicher (exception safe) spezifiziert [AP_SWS_SHWA_00507]. Die Methode zur operativen Fehlerbehandlung HandleError ist hingegen weder threadsicher noch ausnahmesicher spezifiziert [AP_SWS_SHWA_00508]. Konkurrierende Zugriffe auf dieselbe Instanz müssen folglich auf Anwendungsebene koordiniert werden.
Nutzungspfad
Der typische Ablauf bei der Verwendung von ara::shwa::ErrorHandler umfasst die Initialisierung über die Factory und die nachgelagerte Fehlerverarbeitung:
Callback-Definition: Die Anwendung definiert eine Behandlungsroutine mit der Signatur void(ara::core::ErrorCode).
Erzeugung: Die Anwendung ruft die statische Methode Create auf und übergibt die Callback-Funktion [AP_SWS_SHWA_00507]. Nach Prüfung des ara::core::Result übernimmt die Anwendung den std::unique_ptr<ErrorHandler>.
Fehlersignalisierung: Tritt im laufenden Betrieb ein Fehler auf, wird an der Instanz die Methode HandleError mit dem entsprechenden ara::shwa::ShwaErrorCode aufgerufen [AP_SWS_SHWA_00508].
Weiterleitung: Die Instanz verarbeitet das Fehlerereignis; dabei dürfte der modulspezifische Fehlercode intern vermutlich in einen ara::core::ErrorCode überführt und an die registrierte Callback-Funktion übermittelt werden (Interpretation). Frage Q-4101388d317e1f5b (offen)
Beim Einsatz der Klasse sind wesentliche Randbedingungen und Randfälle zu beachten:
Fehlschlag der Objekterzeugung: Die Spezifikation weist für die Factory-Methode Create keine standardisierten Fehlercodes aus [AP_SWS_SHWA_00507]. Dennoch liefert die Methode ein ara::core::Result zurück, sodass allfällige Fehlerbedingungen (wie mangelnder Speicher) über dieses Ergebnisobjekt gemeldet werden dürften (Interpretation). Frage Q-85c2140acfda8244 (offen) Aufrufer müssen daher das Result vor dem Zugriff auf den Zeiger validieren.
Vorbedingungen für die Fehlerbehandlung: Ein Aufruf von HandleError setzt eine intakte Instanz und einen gültigen ara::shwa::ShwaErrorCode voraus [AP_SWS_SHWA_00508]. Da die Methode keinen Rückgabewert besitzt, können Fehler innerhalb der Verarbeitung nicht direkt als Statuscode an den Aufrufer gemeldet werden.
Fehlende Ausnahme- und Threadsicherheit: Da HandleError als not thread-safe und not exception safe deklariert ist [AP_SWS_SHWA_00508], muss die aufrufende Umgebung sicherstellen, dass Aufrufe sequentiell erfolgen und innerhalb der Fehlerbehandlung keine unbehandelten Exceptions propagieren.
Dieser Klassen-Leitfaden basiert auf der AUTOSAR-Spezifikation für die Adaptive Platform (Release R25-11) und wurde automatisiert erstellt.
gemini-3.8-flash-medium· 2026-10-13