Error.isError în JavaScript

Erori Nou (Node.js 24+, browserele din 2025)

Verifică sigur dacă o valoare este o eroare adevărată, chiar dacă vine din alt context (iframe, worker).

Sintaxă
Error.isError(valoare)

Ce face Error.isError

x instanceof Error dă rezultate greșite pentru erorile create în alt context (un iframe sau alt realm), care au propriul constructor Error, și poate fi păcălit de obiecte cu prototipul schimbat.

Error.isError verifică marcajul intern al erorilor, deci returnează true pentru orice eroare adevărată, inclusiv subclase precum TypeError sau clase proprii, și false pentru obiecte care doar arată ca o eroare.

Parametri

Parametru Descriere
valoare Valoarea verificată.

Ce returnează

true sau false.

Exemple

Exemplul 1: Erori adevărate și imitații

class EroareMea extends Error {}
const imitatie = Object.create(Error.prototype);

console.log(Error.isError(new TypeError("x")), Error.isError(new EroareMea()));
console.log(Error.isError({ name: "Error", message: "fals" }));
console.log(imitatie instanceof Error, Error.isError(imitatie));

Rezultat

true true
false
true false

Greșeli frecvente

  • Verifici erorile primite de la un iframe sau un worker cu instanceof Error și primești false. Folosește Error.isError.

Comenzi înrudite

  • Error (throw new Error): Creează un obiect de eroare cu mesaj, tip și stivă de apeluri, pe care îl arunci cu throw.
  • try / catch: Prinde erorile, ca programul să nu se oprească și să poți afișa un mesaj clar.
  • Array.isArray: Verifică dacă o valoare este un tablou (array).