Skip to content

Handle Exception

O Handle Exception é um middleware para você trabalhar com Exceções em suas APIs.

⭕ Pré-requisitos

Jhonson - Jhonson é um middleware para você trabalhar com JSON em suas APIs.

Obs: Se você usa Boss (gerenciador de dependências para Delphi), o Jhonson será instalado automaticamente ao instalar o handle-exception.

⚙️ Instalação

Você pode instalar facilmente utilizando o comando boss install:

boss install handle-exception

Ou, se você preferir instalar manualmente, basta adicionar as pastas em seu projeto, em Project > Options > Resource Compiler > Directories and Conditionals > Include file search path:

../handle-exception/src

✔️ Compatibilidade

Delphi Lazarus
  ✔️    ✔️

🤙 Exemplos de Uso

uses
  Horse,
  Horse.Jhonson, // Está unit é necessária
  Horse.HandleException, // Está unit é necessária
  System.JSON;

begin
  // Necessário para adicionar os Middlewares no Horse:
  THorse
    .Use(Jhonson) // Tem que ser antes do Handle Exception
    .Use(HandleException);

  THorse.Post('/ping',
    procedure(Req: THorseRequest; Res: THorseResponse; Next: TProc)
    begin
      // Gerencie suas Exceções:
      raise EHorseException.New.Error('My Error!');
    end);

  THorse.Listen(9000);
end;
{$MODE DELPHI}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Horse,
  Horse.Jhonson, // Está unit é necessária
  Horse.HandleException, // Está unit é necessária
  SysUtils;

procedure GetPing(Req: THorseRequest; Res: THorseResponse; Next: TNextProc);
begin
  // Gerencie suas Exceções:
  raise EHorseException.New.Error('My Error!');
end;

begin
  // Necessário para adicionar os Middlewares no Horse:
  THorse
    .Use(Jhonson) // Tem que ser antes do Handle Exception
    .Use(HandleException);

  THorse.Get('/ping', GetPing);

  THorse.Listen(9000);
end.

⚠️ Avisos