Sirve como excepción específica de C++ para señalar errores procedentes de interfaces de extremo a extremo junto con el código de error.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 385c2dd6528bProcedenciaPreguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Sirve como excepción específica de C++ para señalar errores procedentes de interfaces de extremo a extremo junto con el código de error.
La clase ara::com::e2e::ComE2EException sirve como excepción estandarizada de C++ para notificar errores procedentes de las API E2E de la gestión de comunicación ([SWS_CM_12501]). Deriva de ara::core::Exception y encapsula un ara::core::ErrorCode específico, el cual se transfiere durante la instanciación a través de un constructor noexcept seguro frente a excepciones ([SWS_CM_12502]). Si las excepciones de C++ están desactivadas en la cadena de herramientas del compilador, la función emisora no participa en la resolución de sobrecargas según la especificación, de modo que esta ruta de error presupone la compatibilidad activa con excepciones.
Dentro de la arquitectura funcional de AUTOSAR Adaptive, ComE2EException actúa como puente de comunicación entre las rutinas de supervisión E2E de la plataforma y el software de aplicación invocador. Si una función E2E detecta un estado de error durante la comprobación o el procesamiento de datos, este error se transmite al flujo de control superior mediante el lanzamiento de esta excepción (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 «Class: ComE2EException»).
Ciclo de vida
La instanciación de un objeto de ComE2EException se realiza explícitamente mediante la transferencia de un código de error al constructor explicit ComE2EException(ara::core::ErrorCode errorCode) noexcept ([SWS_CM_12502], AUTOSAR_AP_SWS_CommunicationManagement §8.15.4.1.1.1 «ComE2EException»). El constructor está especificado como noexcept y seguro frente a excepciones (exception safe) ([SWS_CM_12502]). De este modo, se garantiza que durante la propia construcción de la excepción no puedan lanzarse más excepciones, lo que asegura la robustez en la ruta de error.
En relación con la propiedad, la excepción es generada por la interfaz E2E causante y se lanza por valor (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 «Class: ComE2EException»). En el lado de la aplicación, el objeto se captura típicamente como referencia constante. Tan pronto como se abandona el bloque de tratamiento correspondiente, se produce la destrucción automática en el marco del desenrollado regular de la pila en C++. Dado que la clase está definida como final, no se contemplan subclases.
Ruta de uso
El flujo típico durante el uso de la excepción se divide en las siguientes fases:
El software de aplicación invoca una función protegida por E2E de la gestión de comunicación.
La aplicación captura la excepción en un bloque try-catch. En este contexto, es de suponer (interpretación) que las entidades invocadoras accedan a los métodos base heredados de ara::core::Exception para evaluar el ara::core::ErrorCode contenido a efectos del diagnóstico de fallos. Pregunta Q-8dfac2428f223afe (abierta)
Para el uso de ComE2EException se aplica una condición previa esencial en relación con la toolchain: según [SWS_CORE_10304], la función que crea y lanza la instancia no participa en la resolución de sobrecarga (overload resolution) si las excepciones de C++ están desactivadas en el compilador (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 «Class: ComE2EException»). Por lo tanto, en entornos de tiempo de ejecución sin soporte para excepciones de C++, esta vía de señalización no existe; en tal caso, los fallos probablemente se transmitan (interpretación) a través de mecanismos de fallo alternativos de la plataforma no basados en excepciones. Pregunta Q-e1b3f4f1dfc191ef (abierta)
Siempre que las excepciones estén activas, cada ComE2EException transporta de manera vinculante un código de error ([SWS_CM_12502]). Como condición previa para la instanciación, debe haber disponible un ara::core::ErrorCode válido ([SWS_CM_12502]). Dado que el constructor está declarado como seguro frente a excepciones ([SWS_CM_12502]), la propia creación del objeto no puede fallar incluso en caso de error.
Esta guía se basa en la especificación AUTOSAR R25-11 y ha sido comisariada de forma automática.
Diagrama de clases UML
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán