L'instruction try...catch regroupe des instructions à exécuter et définit une réponse si l'une de ces instructions provoque une exception.


try {
  nonExistentFunction();
} catch (error) {
  console.error(error.message);
}

Les exceptions peuvent être levées volontairement (throw) ou involontairement par l'interpréteur js.

Il est également possible de créer sa propre erreur :

throw new Error("oups");

L'instruction throw permet de lever une exception définie par l'utilisateur. L'exécution de la fonction courante sera stoppée (les instructions situées après l'instruction throw ne seront pas exécutées) et le contrôle sera passé au premier bloc catch de la pile d'appels. Si aucun bloc catch ne se trouve dans les fonctions de la pile d'appels, le programme sera terminé.

Fonction qui renvoie null en cas d'erreur

Il peut parfois être intéressant de faire en sorte qu'une erreur ne stoppe pas l'exécution d'un script mais que la fonction incriminée renvoie null. Ex :

function getI() {
  try {
    return i;
  } catch (error) {
    return null;
  }
}
console.log(`retour de getI`, getI());