Comment gérer vos propres erreurs générées avec des exceptions bibliothèque/non gérées dans les promesses Javascript? Le problème auquel je suis confronté est généré par la nature "fourre-tout" de la méthode des promesses catch()
.Promise manipulé les erreurs
Par exemple, j'ai le code suivant:
somePromiseFunction()
.then(result => {
// External library or behaviour
someCodeThatCanThrowExceptions()
if (result.code === 1) {
throw 'My own exception'
}
})
.catch(err => {
// how do I know if this is an exception I don't know or something
// that I do want to actually handle?
});
Beaucoup de choses peuvent mal tourner dans la chaîne then()
, les bibliothèques externes peuvent lancer des exceptions et ainsi de suite. Par exemple, je veux imprimer "Erreur générique" quand quelque chose comme ça arrive.
Mais je veux aussi valider le code et sortir tôt (comme je le fais dans l'exemple) et dans ce cas, imprimer mon propre message "Ma propre erreur".
Comment gérer à la fois mon "exit early" throw
s et toutes les choses différentes qui peuvent mal se passer pendant l'exécution du code?
Est-il suffisant d'avoir du code dans le fichier .catch qui vérifie 'if (err === 'Ma propre exception')' suivi de votre gestionnaire personnalisé, suivi d'un autre avec le gestionnaire général? –
Ne pas promouvoir [cette bibliothèque] (https://github.com/AlexanderMac/n-custom-errors), mais il fait ce dont vous avez besoin. Donne la possibilité d'enregistrer des erreurs personnalisées et de vérifier que l'erreur lancée est une erreur personnalisée. – alexmac
[Ne lancez jamais de chaînes.] (Https://stackoverflow.com/a/26020867/1048572) – Bergi