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] libellé pas encore importéUpstream: RS_SHWA_00008
class ErrorHandler final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Sert à l'acquisition et à la transmission d'erreurs dans le module shwa à une routine de traitement spécifique à l'application.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d10c8775782fProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Sert à l'acquisition et à la transmission d'erreurs dans le module shwa à une routine de traitement spécifique à l'application.
La classe sert à la réception et à la transmission centralisées des erreurs au sein du module shwa. Les instances peuvent exclusivement être créées via la méthode fabrique statique, qui met l'objet à disposition dans un pointeur exclusif [AP_SWS_SHWA_00507]. Des codes d'erreur spécifiques sont transmis et traités via la méthode de traitement des erreurs [AP_SWS_SHWA_00508]. Comme le traitement des erreurs n'est conçu pour être ni sûr au niveau des threads ni sûr du point de vue des exceptions, l'application appelante doit coordonner les accès concurrents de manière externe.
Contexte
La classe ara::shwa::ErrorHandler fournit dans le module shwa (Smart Hardware Actuator) une interface spécialisée pour la réception et la transmission ciblée d'états d'erreur spécifiques au module. En tant que composant de l'AUTOSAR Adaptive Platform, elle découple la logique matérielle et d'actionneur proprement dite des stratégies de traitement d'erreur de niveau supérieur. La classe est déclarée comme final, ce qui exclut toute dérivation et impose un comportement d'utilisation fermement défini.
Les partenaires d'interaction essentiels de ara::shwa::ErrorHandler sont :
L'application utilisatrice ou le composant de plateforme qui gère l'instance et déclenche la méthode de traitement en cas d'erreur.
Le rappel (callback) std::function<void(ara::core::ErrorCode)> enregistré lors de la création, qui exécute la réaction de traitement proprement dite au niveau applicatif.
Le domaine d'erreur spécifique au module, représenté par le type ara::shwa::ShwaErrorCode.
Cycle de vie
Le cycle de vie d'une instance de ara::shwa::ErrorHandler est soumis à des restrictions strictes concernant la création, la capacité de copie et la propriété de la mémoire. Une construction régulière via des constructeurs par défaut est exclue, car le constructeur sans paramètre est supprimé [AP_SWS_SHWA_00502]. Afin de garantir une identité univoque et des responsabilités claires, la définition de la classe empêche toute opération de copie et de déplacement :
La seule possibilité d'instanciation est offerte par la méthode fabrique statique Create[AP_SWS_SHWA_00507]. Celle-ci reçoit l'objet fonction std::function<void(ara::core::ErrorCode)> et renvoie le résultat sous la forme d'un ara::core::Result<std::unique_ptr<ErrorHandler>>. Grâce au std::unique_ptr, la propriété exclusive de l'objet est transférée à l'appelant. La durée de vie de l'instance est ainsi directement liée à la durée de vie du pointeur intelligent ; lors de sa destruction, le ErrorHandler est également libéré.
En ce qui concerne la concurrence, la méthode de création Create est spécifiée comme sûre au niveau des threads (thread-safe) et sûre du point de vue des exceptions (exception safe) [AP_SWS_SHWA_00507]. En revanche, la méthode de traitement opérationnel des erreurs HandleError n'est spécifiée ni sûre au niveau des threads ni sûre du point de vue des exceptions [AP_SWS_SHWA_00508]. Les accès concurrents à la même instance doivent par conséquent être coordonnés au niveau de l'application.
Parcours d'utilisation
Le déroulement typique lors de l'utilisation de ara::shwa::ErrorHandler comprend l'initialisation via la fabrique et le traitement ultérieur des erreurs :
Définition du rappel : l'application définit une routine de traitement avec la signature void(ara::core::ErrorCode).
Création : l'application appelle la méthode statique Create et transmet la fonction de rappel [AP_SWS_SHWA_00507]. Après vérification du ara::core::Result, l'application prend en charge le std::unique_ptr<ErrorHandler>.
Signalement d'erreur : si une erreur survient en cours de fonctionnement, la méthode HandleError est appelée sur l'instance avec le ara::shwa::ShwaErrorCode correspondant [AP_SWS_SHWA_00508].
Transmission : l'instance traite l'événement d'erreur ; à cette occasion, le code d'erreur spécifique au module devrait vraisemblablement être converti en interne en un ara::core::ErrorCode et transmis à la fonction de rappel enregistrée (interprétation). Question Q-4101388d317e1f5b (ouverte)
Lors de l'utilisation de la classe, des conditions aux limites et des cas limites essentiels doivent être pris en compte :
Échec de la création de l'objet : la spécification n'indique aucun code d'erreur standardisé pour la méthode fabrique Create[AP_SWS_SHWA_00507]. Néanmoins, la méthode renvoie un ara::core::Result, de sorte que d'éventuelles conditions d'erreur (comme un manque de mémoire) devraient être signalées via cet objet résultat (interprétation). Question Q-85c2140acfda8244 (ouverte) Les appelants doivent donc valider le Result avant d'accéder au pointeur.
Préconditions pour le traitement des erreurs : un appel de HandleError suppose une instance intacte et un ara::shwa::ShwaErrorCode valide [AP_SWS_SHWA_00508]. Comme la méthode ne possède pas de valeur de retour, les erreurs au sein du traitement ne peuvent pas être directement signalées à l'appelant sous forme de code d'état.
Absence de sécurité vis-à-vis des exceptions et des threads : comme HandleError est déclarée comme not thread-safe et not exception safe[AP_SWS_SHWA_00508], l'environnement appelant doit s'assurer que les appels s'effectuent de manière séquentielle et qu'aucune exception non traitée ne se propage au sein du traitement des erreurs.
Ce guide de classe est basé sur la spécification AUTOSAR pour l'Adaptive Platform (Release R25-11) et a été créé de manière automatisée.
gemini-3.8-flash-low· 2026-10-13 · Original allemand