Diese Seite wurde vollständig KI-generiert auf Basis von SWS Safe Hardware Acceleration (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.
[AP_SWS_SHWA_00501] texto aún no importadoUpstream: RS_SHWA_00008
class ErrorHandler final {...};
Die Spezifikation definiert diesen Klassentyp mit der gezeigten Schnittstelle.
Sirve para capturar y reenviar errores en el módulo shwa a una rutina de tratamiento específica de la aplicación.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d10c8775782fProcedenciaPreguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Sirve para capturar y reenviar errores en el módulo shwa a una rutina de tratamiento específica de la aplicación.
La clase sirve para la recepción centralizada y el reenvío de errores dentro del módulo shwa. Las instancias solo pueden crearse a través del método de factoría estático, que proporciona el objeto en un puntero exclusivo [AP_SWS_SHWA_00507]. A través del método de tratamiento de errores se transfieren y procesan códigos de error específicos [AP_SWS_SHWA_00508]. Dado que el procesamiento de errores no está diseñado para ser ni seguro para subprocesos ni seguro frente a excepciones, la aplicación llamante debe coordinar externamente los accesos concurrentes.
Contexto
La clase ara::shwa::ErrorHandler proporciona en el módulo shwa (Smart Hardware Actuator) una interfaz especializada para la recepción y el reenvío selectivo de estados de error específicos del módulo. Como parte de la AUTOSAR Adaptive Platform, desacopla la lógica propiamente dicha de hardware y actuadores de las estrategias de tratamiento de errores de nivel superior. La clase está declarada como final, lo que excluye la derivación y fuerza un comportamiento de uso rígidamente definido.
Los principales interlocutores de ara::shwa::ErrorHandler son:
La aplicación o el componente de plataforma consumidor, que gestiona la instancia e inicia el método de tratamiento en caso de error.
La devolución de llamada (callback) std::function<void(ara::core::ErrorCode)> registrada durante la creación, que ejecuta la respuesta de tratamiento propiamente dicha a nivel de aplicación.
El dominio de errores específico del módulo, representado por el tipo ara::shwa::ShwaErrorCode.
Ciclo de vida
El ciclo de vida de una instancia de ara::shwa::ErrorHandler está sujeto a estrictas restricciones en cuanto a creación, copiabilidad y propiedad de memoria. Se excluye la construcción regular mediante constructores por defecto, ya que el constructor sin parámetros está eliminado [AP_SWS_SHWA_00502]. Para garantizar una identidad inequívoca y responsabilidades claras, la definición de la clase impide cualquier operación de copia y movimiento:
El operador de asignación por movimiento está eliminado [AP_SWS_SHWA_00506].
La única posibilidad de instanciación la ofrece el método factory estático Create[AP_SWS_SHWA_00507]. Este recibe el objeto de función std::function<void(ara::core::ErrorCode)> y devuelve el resultado en forma de un ara::core::Result<std::unique_ptr<ErrorHandler>>. Mediante el std::unique_ptr se transfiere la propiedad exclusiva del objeto a quien realiza la llamada. La vida útil de la instancia queda así ligada directamente a la vida útil del puntero inteligente; al destruirse este, también se libera el ErrorHandler.
En cuanto a la concurrencia, el método de creación Create está especificado como seguro para subprocesos (thread-safe) y seguro ante excepciones (exception safe) [AP_SWS_SHWA_00507]. En cambio, el método para el tratamiento operativo de errores HandleError está especificado como no seguro para subprocesos ni seguro ante excepciones [AP_SWS_SHWA_00508]. Por consiguiente, los accesos concurrentes a la misma instancia deben coordinarse en el nivel de aplicación.
Ruta de uso
El flujo habitual al utilizar ara::shwa::ErrorHandler comprende la inicialización a través de la factoría y el procesamiento posterior de errores:
Definición de la retrollamada: La aplicación define una rutina de tratamiento con la firma void(ara::core::ErrorCode).
Creación: La aplicación llama al método estático Create y pasa la función de retrollamada [AP_SWS_SHWA_00507]. Tras comprobar el ara::core::Result, la aplicación asume el std::unique_ptr<ErrorHandler>.
Señalización de errores: Si se produce un error durante el funcionamiento, se invoca en la instancia el método HandleError con el ara::shwa::ShwaErrorCode correspondiente [AP_SWS_SHWA_00508].
Reenvío: La instancia procesa el evento de error; previsiblemente, el código de error específico del módulo se convertirá a nivel interno en un ara::core::ErrorCode y se transmitirá a la función de retrollamada registrada (interpretación). Pregunta Q-4101388d317e1f5b (abierta)
Diagrama de secuencias: orden de llamada típico desde la instanciación hasta el tratamiento de errores. Fuentes: [AP_SWS_SHWA_00507], [AP_SWS_SHWA_00508]
Escenarios de error
Al utilizar la clase, deben tenerse en cuenta condiciones de contorno y casos extremos esenciales:
Fallo en la creación del objeto: La especificación no define códigos de error estandarizados para el método factory Create[AP_SWS_SHWA_00507]. Aun así, el método devuelve un ara::core::Result, por lo que las posibles condiciones de error (como falta de memoria) deberían notificarse a través de este objeto de resultado (interpretación). Pregunta Q-85c2140acfda8244 (abierta) Por tanto, quienes realicen la llamada deben validar el Result antes de acceder al puntero.
Precondiciones para el tratamiento de errores: Una llamada a HandleError requiere una instancia intacta y un ara::shwa::ShwaErrorCode válido [AP_SWS_SHWA_00508]. Dado que el método no posee valor de retorno, los errores dentro del procesamiento no se pueden notificar directamente a quien realiza la llamada como código de estado.
Falta de seguridad ante excepciones y para subprocesos: Puesto que HandleError está declarado como not thread-safe y not exception safe[AP_SWS_SHWA_00508], el entorno llamador debe garantizar que las llamadas se realicen de forma secuencial y que no se propaguen excepciones no controladas dentro del tratamiento de errores.
Esta guía de clase se basa en la especificación de AUTOSAR para la Adaptive Platform (Release R25-11) y se ha generado de forma automatizada.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán