[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Error/cause [Back]  [Original]

Error: cause - JavaScript | MDN

Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.

View in English Always switch to English

Error: cause

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since septiembre de 2021.

Los datos de la propiedad cause de una instancia de Error indica la causa original del error especfico.

Se utiliza cuando se captura y se relanza un error con un mensaje de error ms especfico til para seguir teniendo acceso al error original.

In this article

Valor

El valor que se pas al constructor del Error() en el argumento options.cause. Puede no estar presente.

Atributos de la propiedad Error: cause
SobrescribirS
NumerableNo
ConfigurableS

Descripcin

El valor de cause puede ser de cualquir tipo. No debe suponer que el error que captur tiene un Error como su cause, de la misma manera que no puede estar seguro que la variable enlazada en la instruccin catch sea un error tampoco. El siguiente ejemplo "Proporcionar datos estructurados como la causa del error" muestra un caso donde se proporciona deliberadamente un error como causa.

Ejemplos

Relanzando un error con una causa

A veces es til para detectar un error y volver a lanzarlo con un nuevo mensaje. En este caso debera pasar el error original al constructor para el nuevo Error, como se muestra.

js
try {
  connectToDatabase();
} catch (err) {
  throw new Error("Fall la conexin a la base de datos.", { cause: err });
}

Para un ejemplo mas detallado vea Error > Diferenciar entre errores similares.

Proporcionar datos estructurados como la causa del error

Los mensajes de error escritos para consumo humano pueden ser inapropiados para el anlisis de la mquina dado que estn sujetos a cambios de redaccin o puntuacin que pueden romper cualquier anlisis existente escrito para consumirlos. As que, cuando lanza un error de una funcin, como una alternativa a un mensaje de error legible por humanos, puede proporcionar la causa como datos estructurados, para el anlisis de la mquina.

js
function makeRSA(p, q) {
  if (!Number.isInteger(p) || !Number.isInteger(q)) {
    throw new Error(
      "La generacin de claves RSA requiere entradas de tipo entero.",
      {
        cause: { code: "NonInteger", values: [p, q] },
      },
    );
  }
  if (!areCoprime(p, q)) {
    throw new Error(
      "La generacin de claves RSA requiere dos enteros coprimos.",
      {
        cause: { code: "NonCoprime", values: [p, q] },
      },
    );
  }
  // algoritmo rsa...
}

Especificaciones

Specification
ECMAScript 2027 LanguageSpecification
# sec-installerrorcause

Compatibilidad con navegadores

Vase tambin


Web Proxy Viewer  |  New URL  |  Original Page