DEENESPTFRRUARHIKOZHNL

classe ara::nm::NmException

Diese Seite wurde vollständig KI-generiert auf Basis von SWS NetworkManagement (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.

Header: ara/nm/nm_error_domain.h · Spezifikationselemente: 2

Guide utilisateurGÉNÉRÉ PAR IA

Représente les erreurs lors des appels de l'API de Network Management sous forme d'exception traitable sur la base d'un code d'erreur.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : cbe44d5d3fab Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Représente les erreurs lors des appels de l'API de Network Management sous forme d'exception traitable sur la base d'un code d'erreur.

La classe d'exception sert de type d'erreur standardisé pour les erreurs synchrones d'exécution et d'API au sein du cluster fonctionnel Network Management conformément à [SWS_ANM_01100]. Les instances encapsulent la cause sous-jacente de l'erreur et sont créées par le passage d'un code d'erreur spécifique [SWS_ANM_01102]. Grâce à la spécialisation de l'exception de base générale, le type permet une gestion ciblée des exceptions lors des échecs d'opérations de gestion de réseau. En tant que contrainte essentielle, le constructeur garantit une sécurité totale du multithreading et le respect de la garantie nothrow pendant la création de l'objet.

Contexte

La classe ara::nm::NmException agit au sein du cluster fonctionnel Network Management (ara::nm) comme type d'exception central pour le signalement des erreurs au niveau de l'API [SWS_ANM_01100]. Elle est déclarée dans le fichier d'en-tête ara/nm/nm_error_domain.h et hérite publiquement de la classe de base générale ara::core::Exception [SWS_ANM_01100]. Dans l'architecture de l'AUTOSAR Adaptive Platform, elle établit ainsi une passerelle entre les états d'erreur spécifiques au module de la gestion de réseau et le mécanisme C++ standardisé de gestion des exceptions de l'infrastructure de base.

Les partenaires d'interaction sont les interfaces d'API du Network Management ainsi que les composants applicatifs qui sollicitent les services de ce cluster. Si un état d'erreur grave ou à traiter de manière synchrone survient lors de l'exécution d'une telle interface, l'objet d'exception encapsule cette erreur afin de la transmettre aux appelants de niveau supérieur [SWS_ANM_01100]. Grâce à la hiérarchie d'héritage, NmException s'intègre parfaitement dans les routines générales de traitement des exceptions et peut être interceptée aussi bien de manière spécifique au module que de manière polymorphe via des références à ara::core::Exception.

Cycle de vie

Le cycle de vie d'une instance de ara::nm::NmException débute avec son instanciation explicite via le constructeur, auquel un code d'erreur du type ara::core::ErrorCode est transmis [SWS_ANM_01102]. En marquant le constructeur avec le mot-clé explicit, la spécification empêche les conversions de type implicites à partir de codes d'erreur, ce qui impose une création d'objet délibérée et correcte du point de vue des types [SWS_ANM_01102].

En matière de concurrence, la construction de l'exception est spécifiée comme étant sûre pour les threads (thread-safe) [SWS_ANM_01102]. Une instanciation peut ainsi s'effectuer en toute sécurité et en parallèle sur différents threads, sans que les composants appelants aient à mettre en place des mécanismes de synchronisation externes. De plus, le constructeur est déclaré avec noexcept [SWS_ANM_01102], ce qui garantit formellement qu'aucune autre exception ne peut être levée lors de la création même de l'objet.

Après sa création, l'instance est acheminée vers le gestionnaire d'exceptions compétent via le mécanisme de pile de C++. La destruction s'effectue automatiquement lors de la sortie du bloc catch associé, conformément aux règles standard du langage de programmation C++ relatives aux objets d'exception.

Parcours d'utilisation

Le chemin d'utilisation régulier comprend la survenue d'une erreur lors de l'interaction avec l'API de Network Management, la création de l'objet d'exception ainsi que son évaluation ultérieure par l'application. Vraisemblablement, l'exception est surtout levée lorsque des appels synchrones échouent ou que des erreurs issues de valeurs de retour sont explicitement déballées sous forme d'exception. Question Q-636ec24993a10a5b (ouverte)

Déroulement du traitement des exceptions dans le Network ManagementApplicationara::nm APINmExceptionNM-API-Operation aufrufenFehlerbedingung erkanntNmException(errorCode)Instanz erzeugtAusnahme werfen (throw)catch (const NmException&)

Diagramme de séquence : déroulement typique de la gestion des erreurs via une exception lors d'appels de l'API de Network Management. Sources : [SWS_ANM_01100], [SWS_ANM_01102]

Le déroulement typique se divise selon les étapes suivantes :

  • Appel de l'opération d'API : l'application appelle une fonction du Network Management.
  • Détection de l'erreur et construction : si l'implémentation de l'API constate une condition d'erreur, elle crée une instance de NmException en transmettant le code d'erreur spécifique [SWS_ANM_01102].
  • Déclenchement de l'exception : l'exception est levée (throw), ce qui interrompt le flux de contrôle normal [SWS_ANM_01100].
  • Interception et traitement de l'erreur : l'application intercepte l'exception par référence en tant que const ara::nm::NmException& et engage les mesures appropriées de récupération ou de journalisation.

Scénarios d'erreur

En tant que classe d'exception, ara::nm::NmException constitue l'outil de représentation des erreurs et n'est pas elle-même soumise à des scénarios d'erreur complexes en cours de fonctionnement [SWS_ANM_01100]. La précondition essentielle à la création consiste en la fourniture d'un objet ara::core::ErrorCode initialisé [SWS_ANM_01102]. Ce code d'erreur devrait représenter le domaine d'erreur et l'identificateur numérique du problème spécifique de NM. Question (ouverte)

Le constructeur étant déclaré comme noexcept, un échec lors de la création de l'objet d'exception est exclu [SWS_ANM_01102]. Le scénario d'erreur principal au niveau du système réside dans l'omission d'une gestion appropriée des exceptions : si une NmException levée reste non interceptée, cela entraîne l'appel de std::terminate et par conséquent l'interruption incontrôlée du processus. Les applications doivent donc s'assurer que les sections de code appelantes sont protégées par des blocs de traitement appropriés.

Ce guide se base sur les spécifications AUTOSAR de l'Adaptive Platform (Release R25-11) et décrit la gestion des exceptions dans le module nm.

Synopsis

class NmException : public ara::core::Exception {...};

Déclaration

class NmException : public ara::core::Exception {...};

Constructeurs et destructeur

NmException fonction
explicit NmException(ara::core::ErrorCode errorCode) noexcept;

Documentation des méthodes et types

classe NmException [SWS_ANM_01100]

class NmException : public ara::core::Exception {...};
Headerara/nm/nm_error_domain.h
Upstream-AnforderungRS_AP_00122, RS_AP_00127

Exception-Typ für API-Fehler des Network Management.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 291b3371d50d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La classe NmException représente le type d'exception spécifique aux erreurs d'API du Network Management (ANM) et hérite de ara::core::Exception [SWS_ANM_01100]. Elle est définie dans l'en-tête ara/nm/nm_error_domain.h [SWS_ANM_01100]. L'instanciation s'effectue via le constructeur explicite explicit NmException(ara::core::ErrorCode errorCode) noexcept en transmettant un code d'erreur correspondant [SWS_ANM_01102].

Traitement des erreurs et interaction

Pour faciliter l'accès, le module déclare en outre le même type d'exception via l'alias de type using Exception = NmException; dans le même en-tête [SWS_ANM_01104]. Interprétation : en tant que spécialisation de ara::core::Exception, NmException devrait principalement être levée lorsque des états d'erreur du Network Management sont signalés par des chemins basés sur des exceptions ou qu'un ara::core::Result défaillant est résolu par exception. Question Q-44f3c1fe3e0a4023 (ouverte)

Concurrence et sécurité des threads (Thread Safety)

Le constructeur de NmException est explicitement désigné comme noexcept et garantit la sécurité des threads [SWS_ANM_01102]. Les instances peuvent donc être créées de manière sûre dans des threads concurrents sans synchronisation externe supplémentaire, sans qu'aucune autre exception ne soit levée pendant la construction [SWS_ANM_01102].

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_ANM_01100
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_ANM_01100@rel:R25-11#c7aa46d1
Content hash
c7aa46d1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_NetworkManagement.pdf#nameddest=SWS_ANM_01100
Status: valid/unmigrated Version: rel:R25-11#9cc96ca2 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_ANM_01100@rel:R25-11#9cc96ca2
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#4128a4812026-09-30
  • R23-11rel:R23-11#4af1f9002026-10-14
  • R24-11rel:R24-11#9cc96ca22026-10-14
  • R25-11rel:R25-11#9cc96ca22026-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

fonction NmException [SWS_ANM_01102]

explicit NmException(ara::core::ErrorCode errorCode) noexcept;
Headerara/nm/nm_error_domain.h
Upstream-AnforderungRS_AP_00120, RS_AP_00121, RS_AP_00159, RS_AP_00135
Thread Safetythread-safe

Konstruiert NmException mit einem ErrorCode.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_ANM_01102
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_ANM_01102@rel:R25-11#56ead4c1
Content hash
56ead4c1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_NetworkManagement.pdf#nameddest=SWS_ANM_01102
Status: valid/unmigrated Version: rel:R25-11#4e8ac27f 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_ANM_01102@rel:R25-11#4e8ac27f
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#231c7e122026-09-30
  • R23-11rel:R23-11#c824af0b2026-10-14
  • R24-11rel:R24-11#4e8ac27f2026-10-14
  • R25-11rel:R25-11#4e8ac27f2026-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