Define el dominio de errores de SecOC-FVM y asigna códigos de error específicos a textos de mensajes y excepciones.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 815063923fbeProcedenciaPreguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Define el dominio de errores de SecOC-FVM y asigna códigos de error específicos a textos de mensajes y excepciones.
La clase apext::com::secoc::ComSecOcFvmErrorDomain encapsula el dominio de errores para el Freshness Value Manager en el módulo de comunicación SecOC de AUTOSAR Adaptive [SWS_CM_12514]. Asigna textos descriptivos a códigos de error procedentes de ComSecOcFvmErrc y permite su conversión en excepciones ComSecOcFvmException. Por lo general, el acceso se realiza a nivel de todo el proceso a través de la función auxiliar GetComSecOcFvmErrorDomain()[SWS_CM_12521]. Si las excepciones del compilador están desactivadas, el método para la generación de excepciones se elimina automáticamente de la resolución de sobrecargas.
Contexto
La clase apext::com::secoc::ComSecOcFvmErrorDomain define el dominio de errores para el Freshness Value Manager (FVM) en el marco de la comunicación a bordo segura (SecOC) para la gestión de comunicaciones de Adaptive AUTOSAR [SWS_CM_12514] (AUTOSAR_AP_SWS_CommunicationManagement §C.2.3 «Class: ComSecOcFvmErrorDomain»). Como subclase final de ara::core::ErrorDomain, integra estados de error de FVM específicos del dominio en el modelo de tratamiento de errores de toda la plataforma de AUTOSAR Adaptive.
La creación de una instancia de ComSecOcFvmErrorDomain se realiza a través del constructor por defecto sin parámetros [SWS_CM_12517]. Gracias a la declaración como constexpr y noexcept, se garantiza que la instanciación pueda tener lugar ya en tiempo de compilación sin riesgo de asignación y sea completamente segura frente a excepciones.
Durante el funcionamiento continuo, el dominio de errores actúa típicamente como un singleton duradero e inmutable en el proceso (interpretación). Pregunta Q-fc901552d01e33de (abierta) Por regla general, los componentes de aplicación y middleware no instancian el dominio localmente, sino que utilizan la referencia constante [SWS_CM_12521] proporcionada a través de GetComSecOcFvmErrorDomain(). Dado que las funciones miembro Name()[SWS_CM_12518] y Message()[SWS_CM_12519] carecen de estado y están definidas como const noexcept, el acceso de lectura concurrente desde múltiples subprocesos es seguro sin mecanismos de sincronización adicionales.
Ruta de uso
Si se produce un error en el Freshness Value Manager, los emisores de llamadas interactúan con el dominio de errores a lo largo de una secuencia fija:
Obtener referencia: el componente obtiene la referencia global del dominio mediante GetComSecOcFvmErrorDomain()[SWS_CM_12521].
Identificación del dominio: a través de Name() se puede consultar el identificador asignado de forma fija del dominio de errores para fines de registro (logging) o diagnóstico [SWS_CM_12518].
Resolver mensaje de error: a partir de un código de error pasado (CodeType), Message() proporciona un puntero a la descripción estática y legible por humanos del error [SWS_CM_12519].
Lanzar excepción: si la ruta de error debe tratarse basada en excepciones, ThrowAsException() transforma un objeto ara::core::ErrorCode en la excepción correspondiente [SWS_CM_12520].
Diagrama de secuencias: consulta típica de textos de error o generación de una excepción a través de ComSecOcFvmErrorDomain. Fuentes: [SWS_CM_12519], [SWS_CM_12520], [SWS_CM_12521]
Escenarios de error
Las funciones Name()[SWS_CM_12518] y Message()[SWS_CM_12519] poseen la seguridad frente a excepciones noexcept y no lanzan excepciones bajo ninguna circunstancia. En caso de códigos de error numéricos desconocidos, Message() devuelve presumiblemente una cadena estándar genérica (interpretación). Pregunta Q-4f9834f33957160b (abierta)
Por el contrario, el método ThrowAsException() no es seguro frente a excepciones por definición (not exception safe), ya que su tarea explícita consiste en construir y lanzar un objeto ComSecOcFvmException sobre la base del ara::core::ErrorCode pasado [SWS_CM_12520]. Una condición previa importante es la configuración de la cadena de herramientas: si se desactivan las excepciones de C++ en el compilador, ThrowAsException() no participa en la resolución de sobrecargas [SWS_CM_12520]. Por consiguiente, los emisores de llamadas en entornos de ejecución sin excepciones deben implementar el tratamiento de errores mediante ara::core::Result o evaluaciones directas de códigos de error.
Esta guía fue generada por un sistema de IA sobre la base de la especificación AUTOSAR Adaptive R25-11.
Creates a new instance of apext::com::secoc::ComSecOcFvmException 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.
Returns a string constant associated with the apext::com::secoc:: ComSecOcFvmErrorDomain
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c28253f0fde1ProcedenciaPreguntas 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 de dominio de error apext::com::secoc::ComSecOcFvmErrorDomain devuelve una constante de cadena de caracteres que representa el identificador de este dominio de error [SWS_CM_12518]. La declaración se proporciona a través del archivo de cabecera #include "apext/com/secoc/fvm_error_domain.h"[SWS_CM_12518]. La función opera de forma estrictamente síncrona, no recibe parámetros y devuelve un puntero a una cadena de caracteres inmutable de tipo const char *[SWS_CM_12518].
En cuanto al tratamiento de errores, la interfaz está especificada como exception safe y provista del identificador de C++ noexcept[SWS_CM_12518]. Por lo tanto, una llamada no puede fallar y no dispara excepciones de C++. Para esta función de consulta no existen códigos de error específicos, descripciones de respuesta o notificaciones a DET o DEM.
Dado que se trata de un método const de lectura que devuelve un puntero constante a una cadena estática, la ejecución presumiblemente es reentrante y segura para hilos. Pregunta Q-75fa65f59869d0ab (abierta) No existen condiciones de orden restrictivas para el contexto de invocación.
El método se integra en las extensiones de Communication Management para SecOC y el Freshness Value Management AUTOSAR_AP_SWS_CommunicationManagement §1 «Release Changes» p. 3. Sigue el mismo patrón arquitectónico que las funciones homónimas de otros dominios de error del módulo, a saber, en ara::com::ComErrorDomain[SWS_CM_11331] y en ara::com::e2e::ComE2EErrorDomain[SWS_CM_12507].
Esta nota de uso se creó automáticamente a partir de la especificación AUTOSAR R25-11.
Creates a new instance of apext::com::secoc::ComSecOcFvmException 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: ce36f40333e6Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
usar
La función miembro ThrowAsException del dominio de error apext::com::secoc::ComSecOcFvmErrorDomain (SWS Communication Management §C.2.3.2.2.3 «ThrowAsException», [SWS_CM_12520]) sirve para convertir un código de error en una excepción de C++. Recibe como parámetro de entrada una referencia a un código de error errorCode de tipo const ara::core::ErrorCode& y no tiene valor de retorno. La función crea una nueva instancia de apext::com::secoc::ComSecOcFvmException sobre la base del código de error transferido y la lanza de forma síncrona ([SWS_CM_12520]).
Tratamiento de errores y seguridad frente a excepciones
El método está declarado con noexcept(false) y, conforme a la especificación, catalogado como no seguro frente a excepciones (not exception safe) ([SWS_CM_12520]). El patrón de ejecución regular contempla que la función no retorne normalmente, sino que en caso de error notifique de inmediato al llamador la excepción apext::com::secoc::ComSecOcFvmException generada.
restricciones
Para la función rige una restricción esencial relativa a la configuración del compilador: si las excepciones de C++ están deshabilitadas en la cadena de herramientas del compilador, ThrowAsException no participa en la resolución de sobrecargas según [SWS_CORE_10304] ([SWS_CM_12520]).
gemini-3.8-flash-low· 2026-10-13 · Original en alemán