Javascript les spécificités du langage - Partie 7 -

8
Javascript les spécificités du langage - Partie 7 -

description

Javascript les spécificités du langage - Partie 7 -. La gestion d’erreurs par exceptions et par blocs. - PowerPoint PPT Presentation

Transcript of Javascript les spécificités du langage - Partie 7 -

Page 1: Javascript les spécificités du langage - Partie 7 -

Javascriptles spécificités du langage

- Partie 7 -

Page 2: Javascript les spécificités du langage - Partie 7 -

La gestion d’erreurs par exceptions et par blocs

Comme nombreux langages, Javascript intègre une gestion d’erreur par blocs « try », « catch », « finally » qui permettent de gérer les exceptions lancées durant le déroulement des scripts.

Page 3: Javascript les spécificités du langage - Partie 7 -

La gestion d’erreurs par exceptions et par blocs

Les exceptionsUne exception est un arrêt de programme avec un message particulier afin de connaître la raison pour laquelle il s’est interrompu. En Javascript n’importe quel type d’objet peut être lancée, une exception se déclenche par un « throw » et traverse les fonctions.

Page 4: Javascript les spécificités du langage - Partie 7 -

La gestion d’erreurs par exceptions et par blocs

Ces exceptions peuvent êtes lancées n’importe où dans le code.

throw function(){alert('error');}; throw {"type":"exception", "msg":"error"}; throw "error";

throw function(){alert('error');};throw {"type":"exception", "msg":"error"};throw "error" ;

throw function(){alert('error');};throw {"type":"exception", "msg":"error"};throw "error" ;

Page 5: Javascript les spécificités du langage - Partie 7 -

La gestion d’erreurs par exceptions et par blocs

Les blocs try…catchAfin de pouvoir récupérer les exceptions il est nécessaire d’avoir un écouteur d’exception, c’est le rôle du bloc « try », si aucun bloc « try » n’est défini, l’ensemble du code avant le « catch » est écouté. Le bloc « catch » lui permet de récupérer l’exception et de la traiter.

Page 6: Javascript les spécificités du langage - Partie 7 -

La gestion d’erreurs par exceptions et par blocs

//Va afficher une alerte « erreur »throw "erreur" ;catch(e){ alert(e)} //Va également afficher une alerte « erreur »try{ throw "erreur" ;} catch(e){ alert(e)} //Va aussi afficher une alerte « erreur », puisque les exceptions traversent les fonctionsvar maFonction = function() { throw "erreur" ;} try{ maFonction() ;} catch(e){ alert(e)}

Page 7: Javascript les spécificités du langage - Partie 7 -

La gestion d’erreurs par exceptions et par blocs

Le bloc finallyLe bloc finally est appelé après l’ensemble du traitement que des exceptions aient été déclenchées ou non.

Page 8: Javascript les spécificités du langage - Partie 7 -

La gestion d’erreurs par exceptions et par blocs

//Va afficher l’alerte « erreur » puis l’alerte « fin », on remarque également qu’une fonction est //passée comme exception, elle peut donc être exécutée dans le bloc « catch »try{ throw function(){alert('erreur')};} catch(e) { e();} finally { alert('fin');} //Va afficher « fin » même si l’exception n’a pas été lancéeif(false) throw function(){alert('erreur')};} catch(e) { e();} finally { alert('fin');}