sagace.exceptions.domain package — sagace 2025 documentation

# sagace.exceptions.domain package

## Submodules

## sagace.exceptions.domain.api_request_error module

### Descrição:

Este módulo define classes de exceções para tratamento de erros na camada de domínio do sistema SAGACE. A classe APIRequestError representa erros de requisições feitas à API, garantindo um tratamento estruturado para falhas durante chamadas externas.

Principais funcionalidades:

- Define uma exceção específica para falhas em requisições à API.

- Herdada de DomainError, garantindo consistência no tratamento de erros do domínio.

Princípios de Design Aplicados:

- Single Responsibility Principle (SRP - SOLID): Cada classe tem uma única responsabilidade clara.

- Open/Closed Principle (OCP - SOLID): APIRequestError pode ser estendida sem modificar seu código-fonte.

- Encapsulamento: Centraliza a manipulação de mensagens de erro dentro da exceção.

Classes:

- `APIRequestError`: Representa erros em requisições à API.

Exemplo de uso:

    from sagace.exceptions import APIRequestError

    try:
        raise APIRequestError(500, "Erro interno no servidor")
    except APIRequestError as e:
        print(f"Erro capturado: {e}")

Autor: Diego Yosiura Última Atualização: 27/02/2025 16:46 Criado em: 27/02/2025 16:46 Copyright: (c) Ampere Consultoria Ltda Projeto Original: sagace-v2-package IDE: PyCharm

exception sagace.exceptions.domain.api_request_error.APIRequestError(status_code: int, error: str)

  Bases: `DomainError`

  Exceção para erros em requisições à API.

  Esta classe é usada para capturar erros retornados por chamadas de API, fornecendo uma estrutura padronizada para tratamento dessas falhas.

  Princípios aplicados: - Single Responsibility Principle (S - SOLID): Responsável apenas por representar erros de requisição à API. - Encapsulamento: Centraliza a manipulação das mensagens de erro.

  Parameters:

    - status_code (int) – Código de status HTTP retornado pela API.

    - error (str) – Mensagem de erro retornada pela API.

## sagace.exceptions.domain.domain_error module

### Descrição:

Este módulo define classes de exceções para tratamento de erros na camada de domínio do sistema SAGACE. A classe DomainError serve como exceção base para erros relacionados ao domínio da aplicação, permitindo a criação de exceções especializadas de forma estruturada.

Principais funcionalidades:

- Define uma exceção base para o domínio da aplicação.

- Pode ser herdada por outras exceções específicas do domínio.

Princípios de Design Aplicados:

- Single Responsibility Principle (SRP - SOLID): Cada classe tem uma única responsabilidade clara.

- Open/Closed Principle (OCP - SOLID): DomainError pode ser estendida sem modificar seu código-fonte.

- Encapsulamento: Centraliza a manipulação de mensagens de erro dentro da exceção base.

Classes:

- `DomainError`: Exceção base para erros no domínio.

Exemplo de uso:

    from sagace.exceptions import DomainError

    class CustomDomainError(DomainError):
        # Exceção específica do domínio da aplicação.
        pass

    try:
        raise CustomDomainError("Erro específico no domínio.")
    except DomainError as e:
        print(f"Erro capturado: {e}")

Autor: Diego Yosiura Última Atualização: 27/02/2025 16:05 Criado em: 27/02/2025 16:05 Copyright: (c) Ampere Consultoria Ltda Projeto Original: sagace-v2-package IDE: PyCharm

exception sagace.exceptions.domain.domain_error.DomainError

  Bases: `Exception`

  Exceção base para erros no domínio.

  Esta classe deve ser utilizada como base para definir novas exceções específicas do domínio.

  Princípios aplicados: - Single Responsibility Principle (S - SOLID): Representa exclusivamente erros do domínio. - Open/Closed Principle (O - SOLID): Pode ser estendida para criar novas exceções sem modificar seu código-fonte.

## sagace.exceptions.domain.permission_denied_error module

### Module: Permission Errors

Este módulo define a exceção PermissionDeniedError, que é utilizada para indicar falhas de autenticação de usuário.

Obs.:

- Segue os princípios da Clean Architecture ao separar claramente as exceções do domínio da aplicação.

- Aplica o princípio Liskov Substitution Principle (LSP), pois a exceção PermissionDeniedError estende DomainError sem alterar seu comportamento esperado.

Author: @diego.yosiura Last Update: 27/02/2025 16:45 Created: 27/02/2025 16:45 Copyright: (c) Ampere Consultoria Ltda Original Project: sagace-v2-package IDE: PyCharm

exception sagace.exceptions.domain.permission_denied_error.PermissionDeniedError

  Bases: `DomainError`

  Exceção que representa erro de permissão negada ao autenticar um usuário.

  Esta exceção deve ser lançada quando um usuário tenta acessar um recurso para o qual não tem permissão adequada.

  Herda de:

    DomainError: Classe base para erros do domínio da aplicação.

  Exemplo de uso:

        >>> raise PermissionDeniedError()

## sagace.exceptions.domain.token_expired_error module

### Module: Token Expiration Error

Este módulo define a exceção TokenExpiredError, utilizada para indicar a expiração de um token de autenticação.

Obs.:

- Segue os princípios da Clean Architecture, separando a lógica de erro do domínio da aplicação.

- Aplica o princípio Liskov Substitution Principle (LSP), pois TokenExpiredError estende DomainError sem modificar o comportamento esperado da classe base.

Author: @diego.yosiura Last Update: 27/02/2025 16:46 Created: 27/02/2025 16:46 Copyright: (c) Ampere Consultoria Ltda Original Project: sagace-v2-package IDE: PyCharm

exception sagace.exceptions.domain.token_expired_error.TokenExpiredError

  Bases: `DomainError`

  Exceção que representa um erro de autenticação devido à expiração do token.

  Esta exceção deve ser lançada sempre que um token de autenticação não for mais válido, exigindo que o usuário obtenha um novo token antes de continuar.

  Herda de:

    DomainError: Classe base para erros do domínio da aplicação.

  Exemplo de uso:

        >>> raise TokenExpiredError()

## Module contents

### Description:

Obs.:

Author: @diego.yosiura Last Update: 27/02/2025 16:03 Created: 27/02/2025 16:03 Copyright: (c) Ampere Consultoria Ltda Original Project: sagace-v2-package IDE: PyCharm