Dans ce didacticiel, vous découvrirez les instructions de jet JavaScript à l'aide d'exemples.
Dans le didacticiel précédent, vous avez appris à gérer les exceptions à l'aide de l'instruction JavaScript try… catch. Les instructions try et catch gèrent les exceptions d'une manière standard fournie par JavaScript. Cependant, vous pouvez utiliser l' throw
instruction pour transmettre des exceptions définies par l'utilisateur.
En JavaScript, l' throw
instruction gère les exceptions définies par l'utilisateur. Par exemple, si un certain nombre est divisé par 0 et si vous devez le considérer Infinity
comme une exception, vous pouvez utiliser l' throw
instruction pour gérer cette exception.
Instruction de jeté JavaScript
La syntaxe de l'instruction throw est:
throw expression;
Ici, expression
spécifie la valeur de l'exception.
Par exemple,
const number = 5; throw number/0; // generate an exception when divided by 0
Remarque : l'expression peut être une chaîne, une valeur booléenne, un nombre ou une valeur d'objet.
Lancer JavaScript avec try… catch
La syntaxe de try… catch… throw
est:
try ( // body of try throw exception; ) catch(error) ( // body of catch )
Remarque : lorsque l'instruction throw est exécutée, elle sort du bloc et passe au catch
bloc. Et le code sous l' throw
instruction n'est pas exécuté.
Exemple 1: essayer… attraper… lancer Exemple
const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )
Production
Une erreur interceptée Message d'erreur: Erreur: le nombre est faible
Dans le programme ci-dessus, une condition est vérifiée. Si le nombre est inférieur à 51 , une erreur est générée. Et cette erreur est générée à l'aide de l' throw
instruction.
L' throw
instruction spécifie la chaîne The number is low
en tant qu'expression.
Remarque : Vous pouvez également utiliser d' autres constructeurs intégrés erreur pour les erreurs standard: TypeError
, SyntaxError
, ReferenceError
, EvalError
, InternalError
et RangeError
.
Par exemple,
throw new ReferenceError('this is reference error');
Relancer une exception
Vous pouvez également utiliser une throw
instruction à l'intérieur du catch
bloc pour renvoyer une exception. Par exemple,
const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )
Production
Une erreur interceptée Message d'erreur: Erreur: il s'agit de l'erreur de lancement résolue
Dans le programme ci-dessus, l' throw
instruction est utilisée dans le try
bloc pour intercepter une exception. Et l' throw
instruction est renvoyée dans le catch
bloc qui est exécuté si le catch
bloc ne peut pas gérer l'exception.
Ici, le catch
bloc gère l'exception et aucune erreur ne se produit. Par conséquent, l' throw
instruction n'est pas renvoyée.
Si l'erreur n'a pas été gérée par le bloc catch, l'instruction throw serait renvoyée avec le message d'erreur Uncaught Error: la valeur est faible