Tooark.Exceptions 2.0.8

There is a newer version of this package available.
See the version list below for details.
dotnet add package Tooark.Exceptions --version 2.0.8
                    
NuGet\Install-Package Tooark.Exceptions -Version 2.0.8
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Tooark.Exceptions" Version="2.0.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tooark.Exceptions" Version="2.0.8" />
                    
Directory.Packages.props
<PackageReference Include="Tooark.Exceptions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Tooark.Exceptions --version 2.0.8
                    
#r "nuget: Tooark.Exceptions, 2.0.8"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Tooark.Exceptions@2.0.8
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tooark.Exceptions&version=2.0.8
                    
Install as a Cake Addin
#tool nuget:?package=Tooark.Exceptions&version=2.0.8
                    
Install as a Cake Tool

Tooark.Exceptions

Biblioteca que fornece exceções para projetos .NET, permitindo padronização para tratamento de erros. Inclui métodos para criar e gerenciar exceções.

Conteúdo

Exceções

0. TooarkException

Classe base abstrata para todas as exceções do Tooark estende a classe Exception.

  • Construtores:

    • TooarkException(string message): Inicializa uma nova instância da classe TooarkException com uma mensagem de erro.
    • TooarkException(IList<string> messages): Inicializa uma nova instância da classe TooarkException com uma lista de mensagens de erros.
    • TooarkException(Notification notification): Inicializa uma nova instância da classe TooarkException com uma notificação com as mensagens de erros.
  • Propriedades:

    • _errors: Lista privada de mensagens de erro.
  • Métodos:

    • GetErrorMessages(): Retorna a lista de mensagens de erro.
    • GetNotifications(): Retorna a lista de itens de notificação.
    • GetStatusCode(): Método abstrato para retornar o código de status HTTP associado à exceção.

400. BadRequestException

Funcionalidade: Representa uma exceção de requisição inválida (HTTP 400).

  • Métodos:
    • GetStatusCode(): Configurado para retornar HttpStatusCode.BadRequest.

401. UnauthorizedException

Funcionalidade: Representa uma exceção de não autorizado (HTTP 401).

  • Métodos:
    • GetStatusCode(): Configurado para retornar HttpStatusCode.Unauthorized.

403. ForbiddenException

Funcionalidade: Representa uma exceção de acesso negado (HTTP 403).

  • Métodos:
    • GetStatusCode(): Configurado para retornar HttpStatusCode.Forbidden.

404. NotFoundException

Funcionalidade: Representa uma exceção de recurso não encontrado (HTTP 404).

  • Métodos:
    • GetStatusCode(): Configurado para retornar HttpStatusCode.NotFound.

405. MethodNotAllowedException

Funcionalidade: Representa uma exceção de método não permitido (HTTP 405).

  • Métodos:
    • GetStatusCode(): Configurado para retornar HttpStatusCode.MethodNotAllowed.

500. InternalServerErrorException

Funcionalidade: Representa uma exceção de erro interno do servidor (HTTP 500).

  • Métodos:
    • GetStatusCode(): Configurado para retornar HttpStatusCode.InternalServerError.

502. BadGatewayException

Funcionalidade: Representa uma exceção de gateway inválido (HTTP 502).

  • Métodos:
    • GetStatusCode(): Configurado para retornar HttpStatusCode.BadGateway.

503. ServiceUnavailableException

Funcionalidade: Representa uma exceção de serviço indisponível (HTTP 503).

  • Métodos:
    • GetStatusCode(): Configurado para retornar HttpStatusCode.ServiceUnavailable.

504. GatewayTimeoutException

Funcionalidade: Representa uma exceção de tempo limite de gateway (HTTP 504).

  • Métodos:
    • GetStatusCode(): Configurado para retornar HttpStatusCode.GatewayTimeout.

400. GetInfoException

Funcionalidade: Representa erro ao tentar buscar dados gerando uma exceção de requisição inválida (HTTP 400).

  • Métodos:
    • GetStatusCode(): Configurado para retornar HttpStatusCode.BadRequest.

Exemplo de Uso

using Tooark.Exceptions;

public class ExampleService
{
  public void Execute()
  {
    try
    {
      // Lógica que pode lançar exceções
      ValidateUserInput(null);
      FetchResource(0);
    }
    catch (TooarkException ex)
    {
      Console.WriteLine($"Erro: {ex.GetErrorMessages().FirstOrDefault()}");
      Console.WriteLine($"Code: {ex.GetNotifications().FirstOrDefault()?.Code}, Message: {ex.GetNotifications().FirstOrDefault()?.Message}");
      Console.WriteLine($"Status Code: {(int)ex.GetStatusCode()}");
    }
  }

  private void ValidateUserInput(string input)
  {
    if (string.IsNullOrEmpty(input))
    {
      throw new BadRequestException("Input inválido.");
    }
  }

  private void FetchResource(int resourceId)
  {
    if (resourceId <= 0)
    {
      throw new NotFoundException("Recurso não encontrado.");
    }
  }
}

Dependências

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests no repositório Tooark.Exceptions.

Licença

Este projeto está licenciado sob a licença BSD 3-Clause. Veja o arquivo LICENSE para mais detalhes.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Tooark.Exceptions:

Package Downloads
Tooark.Utils

General utility package for .NET applications.

Tooark

Package with all Tooark resources for .NET applications.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.8 257 6/26/2025
2.1.7 275 6/17/2025
2.1.6 415 6/15/2025
2.1.5 178 6/14/2025
2.1.4 172 6/3/2025
2.1.3.3 173 6/3/2025
2.1.3.2 173 6/3/2025
2.1.3 169 6/3/2025
2.1.2 283 5/17/2025
2.1.1 111 5/3/2025
2.1.0 112 5/3/2025
2.0.8 132 4/26/2025
2.0.7 209 4/22/2025
2.0.6 214 4/20/2025
2.0.5 198 3/14/2025
2.0.4 574 3/14/2025