Tratamento de exceções no SDK da Rapid para Java
Guia sobre o tratamento de exceções no SDK da Rapid para Java
O SDK da Rapid para Java usa exceções de tempo de execução (desmarcadas) para retransmitir erros. Na raiz da hierarquia de exceções está ExpediaGroupException
, a partir do qual todas as outras exceções são estendidas. ExpediaGroupException
nunca é lançado de modo direto.
Existem duas categorias de ExpediaGroupException
:
ExpediaGroupServiceException
: lançado quando o serviço downstream retorna uma resposta de erro. Ou seja, quando o serviço recebeu a solicitação, mas não conseguiu processá-la. O objeto de exceção fornece ao cliente várias informações sobre o erro, incluindo um código de status HTTP e uma mensagem detalhada.ExpediaGroupAuthException
é um subtipo dessa exceção e é lançado quando a autenticação falha.ExpediaGroupClientException
: lançado em erros de cliente, seja ao tentar enviar a solicitação ou analisar a resposta. Por exemplo, umExpediaGroupConfigurationException
é lançado se as credenciais não estiverem configuradas.
Como as exceções não são verificadas, quem faz a chamada decide quais são tratadas. A princípio, um ExpediaGroupClientException
não deveria ser repetido e deve ser corrigido durante o desenvolvimento. Por outro lado, um ExpediaGroupServiceException
pode ser recuperável, como erros resultantes de um serviço temporariamente indisponível. Assim, o tratamento de erros deve dar prioridade ao segundo caso.