| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Error/isError | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utiliss.
Vous voulez une meilleure prise en charge pour cette fonctionnalit ? Dites-nous pourquoi.
La mthode statique Error.isError() dtermine si la valeur passe est une erreur Error.
Error.isError(value)
valueLa valeur vrifier.
true si value est une Error ; sinon, false.
Error.isError() vrifie si la valeur passe est une Error. Elle le fait en effectuant une vrification brande pour un champ priv initialis par le constructeur Error().
C'est le mme mcanisme utilis par Array.isArray(), qui est luimme similaire au mcanisme utilis par l'oprateur in.
C'est une alternative plus robuste instanceof Error car elle vite les faux positifs et les faux ngatifs :
Error.isError() rejette les valeurs qui ne sont pas de vritables instances de Error, mme si elles ont Error.prototype dans leur chane de prototypes instanceof Error les accepterait car il vrifie la chane de prototypes.Error.isError() accepte les objets Error crs dans un autre contexte d'excution instanceof Error renvoie false pour ces objets car l'identit du constructeur Error diffre entre les contextes d'excution.Error.isError() retourne true pour les instances de DOMException. Cela s'explique par le fait que, bien que DOMException ne soit pas dfini comme une vritable sousclasse d'Error (le constructeur Error n'est pas le prototype du constructeur DOMException), DOMException se comporte nanmoins comme Error pour tous les besoins de la vrification brande.
Error.isError()// tous les appels suivants retournent true
Error.isError(new Error());
Error.isError(new TypeError());
Error.isError(new DOMException());
try {
1 + 1n;
} catch (e) {
console.log(Error.isError(e)); // L'opration a lev un TypeError, donc ceci retourne true
}
// tous les appels suivants retournent false
Error.isError();
Error.isError({});
Error.isError(null);
Error.isError(undefined);
Error.isError(17);
Error.isError("Error");
Error.isError(true);
Error.isError(false);
// Ceci n'est pas une erreur, car l'objet n'a pas le champ priv
// initialis par le constructeur Error
Error.isError({ __proto__: Error.prototype });
Lors de la vrification d'une instance d'Error, Error.isError() est prfr instanceof car il fonctionne entre contextes d'excution.
const iframe = document.createElement("iframe");
document.body.appendChild(iframe);
const xError = window.frames[window.frames.length - 1].Error;
const error = new xError();
// Vrification correcte d'Error
Error.isError(error); // true
// Le prototype de error est xError.prototype, qui est un
// objet diffrent de Error.prototype
error instanceof Error; // false
Vous pouvez utiliser Error.isError() pour dtecter si la valeur intercepte est une erreur et la normaliser en un objet Error.
try {
throw "Oups : ceci n'est pas un objet Error";
} catch (e) {
if (!Error.isError(e)) {
e = new Error(e);
}
console.error(e.message);
}
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-error.iserror |
Error.isError dans core-js (angl.)Error.isError (angl.)ErrorCette page a t modifie le 27 mars 2026 par les contributeurices du MDN.
ErrorObject/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()AggregateErrorEvalErrorInternalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIErrorCertaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |