typestar

Errores personalizados en JavaScript

Heredar de Error para llevar datos estructurados de la falla.

class ValidationError extends Error {
  constructor(field) {
    super(`invalid field: ${field}`);
    this.name = "ValidationError";
    this.field = field;
  }
}

function validate(user) {
  if (!user.email) throw new ValidationError("email");
  return user;
}

try {
  validate({});
} catch (error) {
  if (error instanceof ValidationError) console.warn(error.field);
  else throw error;
}

Cómo funciona

  1. extends Error y super(message) montan la clase.
  2. Campos extra como field viajan con el error.
  3. instanceof lo distingue; relanza el resto.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
366
Tokens
92
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 55 segundos.

Escribe este fragmento

Paso 1 de 2 en Errores; paso 38 de 43 en Fundamentos del lenguaje.

← Anterior Siguiente →