Define el dominio de errores para errores de comprobación de la protección extremo a extremo en la comunicación de Adaptive.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: bfe73c7b7e47ProcedenciaPreguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Define el dominio de errores para errores de comprobación de la protección extremo a extremo en la comunicación de Adaptive.
La clase ara::com::e2e::ComE2EErrorDomain define el dominio de errores para fallos de la protección extremo a extremo en el Communication Management de AUTOSAR Adaptive y asigna códigos de error a la enumeración ComE2EErrc ([SWS_CM_12504]). Si falla una comprobación de E2E en el lado del servidor, se transporta un ara::core::ErrorCode de este dominio en la respuesta de error y se pone a disposición en el lado del cliente a través de ara::core::Result ([SWS_CM_00033]). La clase sin estado y segura frente a excepciones permite el tratamiento de errores, a elegir, basado en valores o a través de ThrowAsException(), no estando disponible este método de excepción cuando las excepciones del compilador de C++ están deshabilitadas ([SWS_CM_12509]).
Contexto
La clase ara::com::e2e::ComE2EErrorDomain define el dominio de error para la protección extremo a extremo (E2E) dentro del Communication Management (ara::com) de la AUTOSAR Adaptive Platform. Deriva de forma final de la clase base ara::core::ErrorDomain y encapsula errores específicos del dominio que se producen durante la validación de E2E de mensajes.
En el modelo de comunicación, ComE2EErrorDomain actúa como identificador y traductor central para estados de error en interacciones protegidas mediante E2E. A través de los alias de tipo Errc ([SWS_CM_12504]) y Exception ([SWS_CM_12505]), el dominio de errores vincula la enumeración específica del tipo ComE2EErrc y el tipo de excepción derivado ComE2EException al ecosistema específico de errores de ara::core. Si el entorno de ejecución del servidor detecta una protección defectuosa al comprobar una solicitud de método mediante E2E_check ([SWS_CM_90421]), se transmite una respuesta de error de E2E. Conforme a [SWS_CM_00033], la carga útil de este mensaje de respuesta transporta un ara::core::ErrorCode del dominio ara::com::e2e::ComE2EErrorDomain, cuyo valor de error se corresponde con el resultado de E2E_check (AUTOSAR_AP_SWS_CommunicationManagement §7.4.1.2.4 «Payload of the E2E Error Response»). En el lado del cliente, tras eliminar la cabecera de E2E ([SWS_CM_90475]), este error se deserializa ([SWS_CM_90476], [SWS_CM_10473]) y se entrega a la aplicación como estado de error dentro de un ara::core::Result (AUTOSAR_AP_SWS_CommunicationManagement §7.4.1.2.5 «Deserializing the payload»).
La creación de un objeto de instancia se realiza mediante el constructor por defecto constexpr ComE2EErrorDomain() noexcept ([SWS_CM_12506]). Gracias a la designación como constexpr, el dominio de errores puede construirse ya en tiempo de compilación. Típicamente debería proporcionarse como un singleton inmutable para todo el proceso, de modo que las referencias al dominio sigan siendo válidas durante todo el tiempo de ejecución del programa. Pregunta Q-bd1ba0230650e246 (abierta) Dado que la clase está declarada como final, no se permite ninguna derivación posterior.
La clase no gestiona ningún estado modificable y ofrece una seguridad total frente a excepciones ([SWS_CM_12506]). Los métodos de inspección Name() ([SWS_CM_12507]) y Message() ([SWS_CM_12508]) están declarados como const y noexcept. De este modo queda garantizado un acceso de lectura concurrente y seguro para subprocesos (thread-safe) a través de múltiples hilos de ejecución, libre de sobrecargas de sincronización.
Ruta de uso
La ruta de uso típica se desarrolla en el marco de la transmisión y de la evaluación en el lado del cliente de comprobaciones de E2E fallidas:
Comprobación y generación de errores: Al recibir una solicitud protegida mediante E2E, el servidor realiza la validación mediante E2E_check ([SWS_CM_90421]). Si esta comprobación falla, el middleware serializa una respuesta de error cuya carga útil contiene un ara::core::ErrorCode con ara::com::e2e::ComE2EErrorDomain ([SWS_CM_00033]).
Diagnóstico de errores: la Adaptive Application comprueba ara::core::Result. Para el registro de errores, Name() proporciona el identificador del dominio ([SWS_CM_12507]), mientras que Message() devuelve el texto legible para personas correspondiente al código numérico concreto ([SWS_CM_12508]).
Tratamiento de errores: la aplicación puede evaluar el error basándose en su valor o, si el tratamiento de excepciones está habilitado, lanzar una excepción específica del tipo mediante ThrowAsException() ([SWS_CM_12509]).
Si se produce un error de E2E durante la validación, este se identifica mediante la enumeración ComE2EErrc, la cual está disponible a través del alias de tipo Errc de la clase ([SWS_CM_12504]). Es probable que los códigos de error en ComE2EErrc se correspondan directamente con los valores de resultado definidos de E2E_check. Pregunta Q-07fc2c01567ac537 (abierta)
Para propagar el error mediante excepciones de C++, el método ThrowAsException() instancia una excepción del tipo ara::com::e2e::ComE2EException (alias Exception, [SWS_CM_12505]) y la lanza ([SWS_CM_12509]). El método está declarado como noexcept(false). Si las excepciones de C++ están deshabilitadas en la cadena de herramientas del compilador, ThrowAsException() no participa en la resolución de sobrecargas de conformidad con [SWS_CM_12509]. Por consiguiente, en sistemas sin soporte para excepciones, el tratamiento de errores debe realizarse obligatoriamente mediante la inspección basada en valores de ara::core::Result y ara::core::ErrorCode.
Esta guía se basa en la especificación AUTOSAR Adaptive R25-11 y ha sido generada automáticamente.
Creates a new instance of ara::com::e2e::ComE2EException from errorCode and throws it. As per [SWS_CORE_10304], this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: e33607e23f70ProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
La función miembro Name de la clase ara::com::e2e::ComE2EErrorDomain ([SWS_CM_12507]) se invoca de manera síncrona y sin parámetros de entrada. Sirve para la identificación unívoca del dominio de error y devuelve un puntero a una constante de cadena de caracteres estática (const char *) que representa el nombre del dominio de error de comunicación E2E ([SWS_CM_12507]). La declaración de la interfaz se proporciona a través del archivo de cabecera ara/com/e2e/e2e_error_domain.h ([SWS_CM_12507]).
En lo que respecta al tratamiento de errores, la función está especificada como noexcept y exception safe ([SWS_CM_12507]). Por lo tanto, no lanza excepciones y no falla en tiempo de ejecución; para esta llamada no están previstos códigos de error específicos ni mecanismos de tratamiento de errores.
En cuanto a la concurrencia y condiciones límite, no existen restricciones especiales de llamada o de ciclo de vida. Dado que el método únicamente lee una cadena de caracteres inmutable, la implementación presumiblemente es completamente reentrante y segura para llamadas concurrentes desde cualquier hilo. Pregunta Q-c8158d40c80ce9c5 (abierta)
Creates a new instance of ara::com::e2e::ComE2EException from errorCode and throws it. As per [SWS_CORE_10304], this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d2262a26cd80ProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
La función miembro ThrowAsException del dominio de error ara::com::e2e::ComE2EErrorDomain sirve, según [SWS_CM_12509], para encapsular un código de error errorCode suministrado de tipo ara::core::ErrorCode en una excepción tipada de C++ de tipo ara::com::e2e::ComE2EException y dispararla de forma síncrona. La función no posee valor de retorno (void) y se proporciona a través de la cabecera ara/com/e2e/e2e_error_domain.h (AUTOSAR_AP_SWS_CommunicationManagement §8.15.3.2.2.3 «ThrowAsException»).
Tratamiento de errores y condiciones límite
El método está declarado con noexcept(false) y especificado explícitamente como no seguro frente a excepciones («not exception safe»), ya que su flujo regular consiste en lanzar la excepción. [SWS_CORE_10304] define una condición límite esencial por parte del compilador: si las excepciones de C++ están deshabilitadas en la cadena de herramientas del compilador, esta función no participa en la resolución de sobrecargas. Por lo tanto, los llamadores deben asegurarse de que el tratamiento de errores basado en excepciones esté soportado y activo en el sistema de destino.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán