Atua como exceção C++ específica para a sinalização de erros de interfaces End-to-End juntamente com código de erro.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 385c2dd6528bProcedênciaPerguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Atua como exceção C++ específica para a sinalização de erros de interfaces End-to-End juntamente com código de erro.
A classe ara::com::e2e::ComE2EException atua como uma exceção C++ padronizada para relatar erros das APIs E2E do gerenciamento de comunicação ([SWS_CM_12501]). Ela deriva de ara::core::Exception e encapsula um ara::core::ErrorCode específico, que é passado na instanciação através de um construtor noexcept seguro contra exceções ([SWS_CM_12502]). Se as exceções C++ estiverem desativadas na toolchain do compilador, a função que dispara a exceção não participa da resolução de sobrecarga de acordo com a especificação, de modo que este fluxo de erro pressupõe suporte ativo a exceções.
Na arquitetura funcional do AUTOSAR Adaptive, ComE2EException atua como ponte de comunicação entre as rotinas de monitoramento E2E da plataforma e o software de aplicação chamador. Se uma função E2E detectar um estado de erro durante a verificação ou o processamento de dados, esse erro é transmitido ao fluxo de controle superior por meio do lançamento desta exceção (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 «Class: ComE2EException»).
Ciclo de vida
A instanciação de um objeto de ComE2EException ocorre explicitamente pela passagem de um código de erro para o construtor explicit ComE2EException(ara::core::ErrorCode errorCode) noexcept ([SWS_CM_12502], AUTOSAR_AP_SWS_CommunicationManagement §8.15.4.1.1.1 «ComE2EException»). O construtor é especificado como noexcept e seguro contra exceções (exception safe) ([SWS_CM_12502]). Isso garante que nenhuma outra exceção possa ser lançada durante a própria construção da exceção, assegurando a robustez no caminho de erro.
Em relação às relações de posse, a exceção é criada pela interface E2E causadora e lançada por valor (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 «Class: ComE2EException»). No lado da aplicação, o objeto é tipicamente capturado como referência constante. Assim que o respectivo bloco de tratamento é encerrado, ocorre a destruição automática no âmbito do desenrolamento regular da pilha em C++. Como a classe é definida como final, não estão previstas subclasses.
Caminho de utilização
O fluxo típico de utilização da exceção divide-se nas seguintes fases:
O software de aplicação chama uma função protegida por E2E do gerenciamento de comunicação.
A aplicação captura a exceção em um bloco try-catch. Os chamadores devem presumivelmente (interpretação) acessar os métodos base herdados de ara::core::Exception para avaliar o ara::core::ErrorCode contido para o diagnóstico de erros. Pergunta Q-8dfac2428f223afe (aberta)
Para a utilização de ComE2EException, aplica-se uma pré-condição essencial quanto à toolchain: de acordo com [SWS_CORE_10304], a função que cria e lança a instância não participa da resolução de sobrecarga (overload resolution) caso as exceções C++ estejam desativadas no compilador (AUTOSAR_AP_SWS_CommunicationManagement §8.15.4 «Class: ComE2EException»). Em ambientes de execução sem suporte a exceções C++, essa via de sinalização, portanto, não existe; os erros devem, nesse caso, ser transmitidos presumivelmente (interpretação) por meio de mecanismos alternativos de erro da plataforma não baseados em exceções. Pergunta Q-e1b3f4f1dfc191ef (aberta)
Caso as exceções estejam ativas, todo ComE2EException transporta compulsoriamente um código de erro ([SWS_CM_12502]). Como pré-condição para a instanciação, um ara::core::ErrorCode válido deve estar disponível ([SWS_CM_12502]). Como o construtor é declarado como seguro contra exceções ([SWS_CM_12502]), a própria criação do objeto não pode falhar mesmo em caso de erro.
Este guia baseia-se na especificação AUTOSAR R25-11 e foi curado automaticamente.
Diagrama de classes UML
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Original em alemão