Dino Geek essaye de t'aider

Comment gérer les erreurs avec les Promises?


Les Promises offrent une méthode structurée pour gérer les erreurs et les exceptions dans le code asynchrone. Voici quelques méthodes pour gérer les erreurs avec les Promises:

1. `catch()`: Cette méthode gère les erreurs lancées par les Promises. Si une erreur se produit dans une promise, le contrôle passe à la méthode `catch()` la plus proche. Par exemple :

```
const promise = new Promise((resolve, reject) => { throw new Error(“Erreur !”);
});

promise.catch(error => console.log(error)); // “Erreur !“
```

1. `then(successCallback, errorCallback)`: Un autre moyen de gérer les erreurs est d’utiliser deux arguments dans `then()`. Le premier argument est la fonction de callback pour le succès et le deuxième est pour l’échec :

```
const promise = new Promise((resolve, reject) => { throw new Error(“Erreur !”);
});

promise.then(() => console.log(“Succès !”), error => console.log(error)); // “Erreur !“
```

1. `Promise.all()`: Si plusieurs promises sont regroupées à l’aide de `Promise.all()`, et si une des promises est rejetée, `Promise.all()` est immédiatement rejetée avec la raison de cette promise. Vous pouvez gérer cette erreur en plaçant un bloc `catch()` après `Promise.all()` :

```
const promise1 = Promise.resolve(“Succès !”);
const promise2 = Promise.reject(new Error(“Erreur !”));

Promise.all([promise1, promise2]).catch(error => console.log(error)); // “Erreur !“
```

1. `UnhandledPromiseRejectionWarning`: Si aucune méthode `catch()` n’est présente pour gérer l’erreur, Node.js génère un avertissement `UnhandledPromiseRejectionWarning`.

Il est recommandé d’avoir toujours une méthode `catch()` à la fin de votre chaîne de promesses pour gérer toute erreur qui pourrait survenir. C’est une bonne pratique et peut vous aider à éviter des erreurs difficiles à déboguer.


Générez simplement des articles pour optimiser votre SEO
Générez simplement des articles pour optimiser votre SEO





DinoGeek propose des articles simples sur des technologies complexes

Vous souhaitez être cité dans cet article ? Rien de plus simple, contactez-nous à dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nom de Domaine | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Mentions Légales / Conditions Générales d'Utilisation