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.
Encapsule les codes d'erreur du module shwa sous forme d'exception C++ pour la signalisation et le traitement thread-safe des erreurs.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1a4cf59da390ProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Encapsule les codes d'erreur du module shwa sous forme d'exception C++ pour la signalisation et le traitement thread-safe des erreurs.
La classe ara::shwa::ShwaException dérive de ara::core::Exception et sert, au sein du module shwa, à signaler des situations d'erreur par le biais du mécanisme d'exceptions C++. Lors de l'instanciation, le constructeur explicite reçoit un ara::core::ErrorCode qui encapsule la cause de l'erreur et la met à disposition dans le bloc de capture pour le diagnostic [AP_SWS_SHWA_01303]. La création est spécifiée selon [AP_SWS_SHWA_01303] comme noexcept, sûre vis-à-vis des exceptions et thread-safe. Interprétation : les appelants devraient intercepter l'exception de manière structurée et évaluer le code d'erreur afin d'éviter des interruptions anormales du processus. Question (ouverte)
Contexte
Dans le module shwa de l'AUTOSAR Adaptive Platform, la classe ara::shwa::ShwaException constitue la classe d'exception spécialisée destinée à signaler les situations d'erreur spécifiques au module. Selon la syntaxe de la classe, le type dérive publiquement de ara::core::Exception et s'intègre ainsi dans la hiérarchie uniforme d'exceptions de l'Adaptive Platform. Dans l'architecture système, la classe fait office de passerelle entre les composants internes du module shwa et les couches applicatives appelantes. Sa fonction principale est le transport d'un ara::core::ErrorCode via le mécanisme d'exceptions C++, comme l'atteste la déclaration du constructeur selon [AP_SWS_SHWA_01303]. Le code applicatif devrait utiliser cette classe comme type de capture afin de distinguer de manière ciblée les erreurs issues du module shwa des exceptions génériques de la plateforme. Question Q-c74c928a939e73ad (ouverte)
Cycle de vie
Le cycle de vie d'une instance de ara::shwa::ShwaException débute par sa création dans le contexte d'une détection d'erreur. Selon [AP_SWS_SHWA_01303], la création s'effectue via le constructeur explicit ShwaException(ara::core::ErrorCode errorCode) noexcept. L'initialisation lie directement le code d'erreur transmis à l'objet exception. La spécification garantit pour cette déclaration une sécurité totale vis-à-vis des exceptions (exception safe) ainsi que la sécurité des threads (thread-safe) [AP_SWS_SHWA_01303]. Le constructeur étant déclaré comme noexcept, la création de l'objet ne peut elle-même déclencher aucune exception secondaire.
Après sa création, l'objet est transmis au système d'exécution C++ par une instruction throw. Le système d'exécution prend en charge sa gestion pendant le déroulement de la pile (stack unwinding) jusqu'à ce que l'objet soit lié dans un bloc catch compatible. Après la sortie du bloc d'exception, la durée de vie prend fin et l'objet est automatiquement détruit. La création étant spécifiée thread-safe [AP_SWS_SHWA_01303], plusieurs threads d'exécution peuvent créer et lever des instances de manière indépendante.
Parcours d'utilisation
Un chemin d'utilisation typique commence par l'appel d'une fonction du module shwa par une application. Si l'opération échoue et que la sémantique spécifique au module prévoit une exception, le composant exécutant instancie ara::shwa::ShwaException en transmettant le ara::core::ErrorCode applicable [AP_SWS_SHWA_01303]. L'exception est ensuite levée.
Le code applicatif appelant intercepte l'exception soit en tant que ara::shwa::ShwaException, soit via la classe de base ara::core::Exception. Dans le bloc de capture, le code d'erreur encapsulé peut être lu afin d'analyser la cause, de consigner des entrées de journal ou d'engager des mesures de rétablissement. Le déroulement ci-dessous illustre ce chemin.
Diagramme de séquence : Déroulement typique de la création et du traitement des exceptions lors d'appels de fonction dans le module shwa. Sources : [AP_SWS_SHWA_01303]
Scénarios d'erreur
En tant que classe d'exception, ara::shwa::ShwaException sert elle-même à signaler des scénarios d'erreur. La construction exige pour seule précondition la transmission d'un ara::core::ErrorCode[AP_SWS_SHWA_01303]. La qualification du constructeur par explicit empêche toute conversion implicite involontaire de type au moment de la compilation.
Tout état d'erreur pendant la construction de l'exception est exclu, car le constructeur selon [AP_SWS_SHWA_01303] est déclaré avec noexcept. L'instanciation est ainsi robuste et n'entraîne ni erreur d'allocation ni interruption de l'exécution. Au niveau système, un scénario d'erreur critique n'apparaît que si une exception levée n'est pas interceptée par le contexte appelant : cela conduit, via le mécanisme standard de C++, à un appel de std::terminate. Interprétation : les appelants devraient sécuriser la zone d'exception et traiter le code d'erreur pour garantir la stabilité du processus. Question Q-0b08103bdf1368b7 (ouverte)
Ce guide repose exclusivement sur la spécification d'interface du module shwa dans AUTOSAR Adaptive Release R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand