DEENESPTFRRUARHIKOZHNL

clase ara::exec::ExecException

[SWS_EM_02282] Upstream: RS_AP_00130, RS_AP_00122, RS_AP_00127, RS_AP_00154, RS_AP_00150, RS_AP_00140

class ExecException final :          public ara::core::Exception {...};

Defines a class for exceptions to be thrown by the Execution Management.

Header-Datei#include "ara/exec/exec_error_domain.h"
Forwarding-Header#include "ara/exec/exec_fwd.h"
Scopenamespace ara::exec
Basisklasse(n)ara::core::Exception

Guía del usuarioGENERADO POR IA

Encapsula códigos de error del Execution Management como excepción de C++ para el tratamiento síncrono de errores.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: e102ca6cc8ed Procedencia Preguntas abiertas (3)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Encapsula códigos de error del Execution Management como excepción de C++ para el tratamiento síncrono de errores.

La clase ara::exec::ExecException sirve como clase de excepción final del Execution Management para la encapsulación y señalización de errores específicos del módulo a través del mecanismo de excepciones de C++. En caso de error, las instancias se crean y lanzan a través del constructor seguro para hilos indicando un ara::core::ErrorCode, tras lo cual los puntos llamantes las capturan y analizan [SWS_EM_02283]. Como condición límite fundamental, la construcción está especificada como noexcept, lo que garantiza que la creación del objeto sea segura frente a excepciones [SWS_EM_02283]. Las excepciones no tratadas deben evitarse, ya que conducen a la terminación del sistema.

Contexto

La clase ara::exec::ExecException representa la clase de excepción central del módulo Execution Management (exec) dentro de la AUTOSAR Adaptive Platform. Según su especificación, sirve como encapsulación para las excepciones desencadenadas por el Execution Management. La declaración de clase la define como final con derivación pública de la clase de excepción base estándar ara::core::Exception, integrándose así sin fisuras en el concepto unificado de tratamiento de excepciones y errores de la Adaptive Platform. Mediante el identificador final queda excluida una posterior especialización o subclasificación.

La clase de excepción se declara en la cabecera #include "ara/exec/exec_error_domain.h" [SWS_EM_02283]. La responsabilidad funcional primaria de ara::exec::ExecException radica en el transporte de estados de error específicos del módulo a través del mecanismo de excepciones de C++. Interpretación: Es previsible que el lanzamiento de esta excepción tenga lugar sobre todo en entornos de ejecución en los que los estados de error del Execution Management no se propaguen puramente a través de tipos de error basados en valores, sino que se requiera una interrupción síncrona del flujo de control a través de excepciones de C++. Pregunta Q-8faec8c282524965 (abierta)

Ciclo de vida

El ciclo de vida de una instancia de ara::exec::ExecException comienza con la construcción explícita mediante la transferencia de un código de error. El constructor explicit ExecException(ara::core::ErrorCode errorCode) noexcept crea un nuevo objeto de excepción que encapsula el código de error transferido [SWS_EM_02283]. La designación como noexcept garantiza que la creación del objeto esté exenta de fallos incluso en el contexto de un tratamiento de errores ya existente y que no desencadene errores consecutivos en cascada [SWS_EM_02283].

En lo referente a la seguridad de ejecución, la construcción está clasificada explícitamente como segura frente a excepciones («exception safe») y segura para hilos («thread-safe») [SWS_EM_02283]. Esto permite la creación fiable de instancias de excepción en diferentes hilos sin necesidad de mecanismos de sincronización adicionales. Tras el desencadenamiento mediante throw, el objeto pasa a la gestión del sistema de tiempo de ejecución de C++. Interpretación: La destrucción del objeto de excepción se produce automáticamente tras salir del bloque catch de tratamiento en el curso del desenrollado de pila regular, por lo que no es necesaria una gestión explícita del ciclo de vida por parte del llamante. Pregunta Q-ec22ad5f177555aa (abierta)

Ruta de uso

Una ruta de uso típica de ara::exec::ExecException comprende la instanciación en caso de error dentro del Execution Management, así como la captura controlada en el contexto de la aplicación llamante:

  • Identificación del error e instanciación: Si se produce una condición de excepción en el Execution Management, la causa se mapea en un ara::core::ErrorCode del dominio de error asociado y se utiliza para la inicialización explícita de un ara::exec::ExecException [SWS_EM_02283].
  • Señalización: la instancia de excepción inicializada se lanza, con lo que se interrumpe la ruta de ejecución regular y se inicia el desenrollado de la pila.
  • Captura: los componentes invocadores capturan el objeto de excepción de forma específica como const ara::exec::ExecException& o de manera más general mediante la clase base polimórfica const ara::core::Exception&.
  • Evaluación: Interpretación: dado que el objeto se construyó con un ara::core::ErrorCode [SWS_EM_02283] y hereda de ara::core::Exception, es probable que el receptor extraiga el código de error contenido mediante interfaces de la clase base para llevar a cabo medidas de recuperación o de registro específicas del módulo. Pregunta Q-d4671c34f5aab6f9 (abierta)

Escenarios de error

Como clase de excepción especializada, ara::exec::ExecException está diseñada para representar situaciones de error existentes sin inducir nuevos errores durante su propio uso. Para su creación, el constructor requiere que se pase un ara::core::ErrorCode [SWS_EM_02283]. Dado que el constructor está declarado como noexcept, se descartan errores de precondición durante la instanciación que pudieran obstaculizar la creación del objeto de excepción [SWS_EM_02283].

Un escenario de fallo esencial a nivel de sistema reside en la captura incompleta de las excepciones lanzadas. Si una excepción desencadenada por ara::exec::ExecException permanece sin gestionar a lo largo de la jerarquía de llamadas, interviene el tratamiento estándar en tiempo de ejecución de C++, lo que típicamente desemboca en la llamada a std::terminate y, por ende, en la terminación prematura del proceso. Por tanto, los componentes de software que interactúan deben asegurarse de que las llamadas a funciones de Execution Management potencialmente capaces de lanzar excepciones estén protegidas mediante bloques try-catch adecuados.

Esta guía fue generada por una IA sobre la base de la especificación AUTOSAR Adaptive Platform R25-11.

Diagrama de clases UML

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__exec__ExecException556 ExecException + ExecException() nara__core__Exception792 Exception nara__exec__ExecException556->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

Constructores y destructor

ExecException función

Constructs a new ExecException object containing an error code.

explicit ExecException (ara::core::ErrorCode errorCode) noexcept;

Documentación de los métodos

función ExecException [SWS_EM_02283] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00130, RS_AP_00159

explicit ExecException (ara::core::ErrorCode errorCode) noexcept;

Constructs a new ExecException object containing an error code.

Header-Datei#include "ara/exec/exec_error_domain.h"
Scopeclass ara::exec::ExecException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errorCodeThe error code.

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

Record
AUTOSAR/AP/record/SWS_EM_02283
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_EM_02283@rel:R25-11#399e9476
Content hash
399e9476
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_ExecutionManagement.pdf#nameddest=SWS_EM_02283
Status: valid/unmigrated Version: rel:R25-11#f57f2491 Versionshistorie & Revisions (1 transition, 8 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_EM_02283@rel:R25-11#f57f2491
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#7afdb8d92026-09-30
  • R19-11rel:R19-11#5683c5ea2026-10-14
  • R20-11rel:R20-11#1a1c4d242026-10-14
  • R21-11rel:R21-11#1a1c4d242026-10-14
  • R22-11rel:R22-11#49bf1b972026-10-14
  • R23-11rel:R23-11#4052ff1d2026-10-14
  • R24-11rel:R24-11#8fa7f4222026-10-14
  • R25-11rel:R25-11#f57f24912026-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