Omnia Docs
Docs
Backend
Frontend
Docs
Backend
Frontend
  • Backend
  • Arquitectura
  • Error handling

Error handling

¿Cómo manejar errores?

Se utiliza la clase OmniaError, un error personalizado que extiende de la clase Error.

Tiene 5 campos principales:

name = 'OmniaError'; // Identificador
statusCode: StatusCode; // Código HTTP (401, 500, etc)
errorCode: ErrorCode; // Código interno que usamos en el frontend
originalError?: Error; // Error original (opcional)
message: string; // Mensaje visible en consola

Usa una librería para importar los códigos HTTP:

import { StatusCodes } from 'http-status-codes';

Formas de Lanzar Errores

Siempre se importa desde: import { OmniaError } from 'back/helpers/error.helpers';

Ejemplo 1 (Recomendado)

OmniaError.Throw({
  statusCodeName: 'METHOD_NOT_ALLOWED',
  errorCode: 'ACCOUNT_ALREADY_CLOSED',
});

Ejemplo 2

Se define el config del error primero con 'as const':

const accountError = {
  statusCodeName: 'METHOD_NOT_ALLOWED',
  errorCode: 'ACCOUNT_ALREADY_CLOSED',
} as const;

OmniaError.Throw(accountError);

Útil si se lanza el mismo error varias veces dentro de una función o archivo.

Ejemplo 3

Se define una función estática en OmniaError.

static ThrowAccountAlreadyClosed() {
  this.Throw({
    statusCodeName: 'METHOD_NOT_ALLOWED',
    errorCode: 'ACCOUNT_ALREADY_CLOSED',
  });
}

Se usa así:

OmniaError.ThrowAccountAlreadyClosed();

Recomendado cuando el mismo error se reutiliza en muchos archivos.

Last Updated:: 10/9/25, 11:32 PM
Contributors: LisandroMdcDas
Prev
Arquitectura