java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
diegosneves.github.conectardoacoes.adapters.rest.exception.CustomException
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AddressEntityFailuresException, ConstructorDefaultUndefinedException, DepositEntityFailuresException, DepositProcessingException, DetailsFailureException, DonationEntityFailuresException, ExternalApiFailureException, MapperFailureException, ShelterEntityFailuresException, UserEntityFailuresException

public abstract class CustomException extends RuntimeException
Classe abstrata CustomException que estende a classe RuntimeException. Esta classe é designada para lidar com exceções personalizadas no aplicativo.

A classe contém um objeto estático de ExectionDetails que pode ser usado para fornecer detalhes adicionais sobre a exceção. As exceções podem ser construídas com uma mensagem de erro específica e/ou com uma causa raiz, permitindo o rastreamento do erro com mais facilidade.

A classe também fornece um método estático para obter detalhes excepcionais com base em termos de exceção Integer.

É importante destacar que esta classe é abstrata e deve ser estendida para uso e para casos de exceção personalizados.

Since:
1.1.0
Author:
diegoneves
See Also:
  • Field Details

  • Constructor Details

    • CustomException

      protected CustomException(ExceptionDetails error)
      Este é um construtor protegido usado para criar uma nova instância de CustomException com um objeto ExceptionDetails especificado.

      O objeto ExceptionDetails fornecido encapsula informações detalhadas de erro que são usadas para formatar a mensagem de erro que é passada para a classe RuntimeException pai. O objeto ExceptionDetails também é armazenado para recuperação posterior, permitindo que os detalhes sobre o erro estejam disponíveis ao tratar a exceção.

      Parameters:
      error - o objeto ExceptionDetails que contém as informações detalhadas de erro
    • CustomException

      protected CustomException(ExceptionDetails error, String message)
      Este é um construtor protegido usado para criar uma nova instância de CustomException. A mensagem de erro fornecida é formatada pelo objeto ExceptionDetails e passada para o construtor superclass RuntimeException. Além disso, o objeto ExceptionDetails é armazenado para recuperação posterior.
      Parameters:
      message - A mensagem de erro personalizada.
      error - O objeto ExceptionDetails que contém as informações detalhadas do erro.
    • CustomException

      protected CustomException(ExceptionDetails error, Throwable cause)
      Este é um construtor protegido utilizado para criar uma nova instância de CustomException.

      A instância é criada com uma causa Throwable especificada e um objeto ExceptionDetails também fornecido. A mensagem de erro formatada pelo objeto ExceptionDetails e a causa são passadas para o construtor da superclasse RuntimeException. O objeto ExceptionDetails é então armazenado neste objeto CustomException para recuperação futura.

      Parameters:
      cause - a causa (que é salva para recuperação posterior por Throwable.getCause()) (A null value is permitted, and indicates that the cause is nonexistent or unknown).
      error - o objeto ExceptionDetails que contém as informações mais detalhadas do erro.
    • CustomException

      protected CustomException(ExceptionDetails error, String message, Throwable cause)
      Construtor protegido para criar uma nova instância de CustomException.

      Este construtor constrói o CustomException com uma mensagem personalizada de erro, uma causa (representada por um objeto Throwable) e um objeto detalhado da exceção (representado por um objeto ExceptionDetails).

      A mensagem de erro é formatada pelo objeto ExceptionDetails e a causa são passadas para o construtor da superclasse RuntimeException. O objeto ExceptionDetails é armazenado dentro do objeto CustomException criado para a utilização futura.

      Parameters:
      message - A mensagem customizada de erro.
      cause - A causa do erro para fins de debug, representada por um objeto Throwable. Um valor nulo é permitido, e indica que a causa é inexistente ou desconhecida.
      error - O objeto ExceptionDetails que contém as informações mais detalhadas do erro.
  • Method Details

    • getErrorDetails

      public ExceptionDetails getErrorDetails()
      Método getter para recuperar os detalhes do erro associados a esta CustomException.

      Este método é usado para recuperar a instância de ExceptionDetails que foi fornecida ao construir esta CustomException. O objeto ExceptionDetails encapsula informações detalhadas sobre o erro que causou esta exceção, tais como a mensagem de erro e quaisquer outros dados relevantes relativos ao erro.

      Returns:
      o objeto ExceptionDetails que encapsula as informações detalhadas sobre o erro que causou esta exceção. Isto pode ser nulo se nenhum detalhe foi fornecido quando a exceção foi construída.
    • obtainExceptionDetails

      protected static ExceptionDetails obtainExceptionDetails(Integer term)
      Método que busca os detalhes de uma exceção na enumeração ExceptionDetails.

      Este método retorna uma instância de ExceptionDetails com base no termo fornecido. O termo representa a chave do erro que queremos recuperar. O método faz uso do método ExceptionDetails.getExceptionDetails(Integer) para obter a instância de ExceptionDetails. Se nenhuma instância for encontrada para o termo fornecido, o método ExceptionDetails.getExceptionDetails(Integer) lançará uma exceção do tipo DetailsFailureException.

      Este método é utilizado para fornecer detalhes sobre uma exceção específica, como a mensagem de erro, o HttpStatus associado ao erro e etc.

      Parameters:
      term - um número inteiro representando a chave do erro na enumeração ExceptionDetails.
      Returns:
      uma instância de ExceptionDetails representando os detalhes da exceção, incluindo a mensagem de erro e o status HTTP associado ao erro.
      Throws:
      DetailsFailureException - se nenhum elemento da enumeração corresponder ao termo fornecido.