Cours CL en GMI-MIAGE FC
12 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
12 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Le traitement des erreursComment traiter les erreurs (“´ev`enements inattendus”)dans le cadre du d´eveloppement logiciel?– Ne pas traiter du tout. Au mieux, un arrˆet brusque etsouvent incompr´ehensible se produit. Au pire, l’erreurpasse inaper¸cue mais d´eclenche en aval une catas-trophe (mauvais comportement du programme, pro-duction de r´esultats faux non signal´es,...)– Corriger l’erreur localement n’a pas toujours un sens :le traitement de l’erreur peut d´ependre du contextedans lequel elle se produit. Le composant dans lequelonpeutd´etecterl’erreurn’estpasn´ecessairementceluiqui sait comment la traiter. Exemple : l’affichage d’unmessage d’erreur n’a pas de sens dans un contextegraphique.Certains langages (Ada, Java,...) ont ainsi mis en placeun m´ecanisme propre au traitement des ´ev`enementsexceptionnels.MIAGE&GMIFC Les exceptions - 1Principes g´en´eraux.Le d´eclenchement d’une exception est un m´ecanisme quimodifie le flot normal d’´ex´ecution du programme (sortiebrutale des boucles et des s´equences, terminaison desm´ethodes sans fournir de r´esultat,...)Le controleˆ est rendu `a l’entit´e utilisatrice en lui notifiantl’exception. Cette entit´e peut alors soit propager l’excep-tion,soitlastoppereteffectueruntraitementparticulier.Une exception qui n’est trait´ee `a aucun niveau d´eclenchel’arrˆet du programme.L’exception est porteuse d’informations sur la nature etla cause de l’´ev`enement qui vient de se produire.MIAGE&GMIFC Les ...

Informations

Publié par
Nombre de lectures 103
Langue Français

Extrait

Le traitement des erreurs
Commenttraiterleserreurs(e´ve`nementsinattendus) danslecadredud´eveloppementlogiciel? Nepastraiterdutout.Aumieux,unarreˆtbrusqueet souventincompre´hensibleseproduit.Aupire,lerreur passeinaper¸cuemaisd´eclencheenavalunecatas-trophe (mauvais comportement du programme, pro-ductionder´esultatsfauxnonsignale´s,...) – Corriger l’erreur localement n’a pas toujours un sens : letraitementdelerreurpeutd´ependreducontexte dans lequel elle se produit. Le composant dans lequel onpeutd´etecterlerreurnestpasne´cessairementcelui qui sait comment la traiter. Exemple : l’affichage d’un message d’erreur n’a pas de sens dans un contexte graphique. Certains langages (Ada, Java,...) ont ainsi mis en place unm´ecanismepropreautraitementdese´v`enements exceptionnels.
MIAGE & GMI FC
Les exceptions - 1
Principesg´en´eraux.
Led´eclenchementduneexceptionestunme´canismequi modieleotnormalde´xe´cutionduprogramme(sortie brutaledesbouclesetdesse´quences,terminaisondes m´ethodessansfournirder´esultat,...)
Lecontrˆoleestrendu`alentite´utilisatriceenluinotiant lexception.Cetteentite´peutalorssoitpropagerlexcep-tion, soit la stopper et effectuer un traitement particulier. Uneexceptionquinesttrait´ee`aaucunniveaude´clenche larrˆetduprogramme.
L’exception est porteuse d’informations sur la nature et lacausedele´v`enementquivientdeseproduire.
MIAGE & GMI FC
Les exceptions - 2
Propagationduneexceptionnontrait´ee.
MIAGE & GMI FC
Les exceptions - 3
R´ecupe´rationdexception
Il faut D´enirlazonedecodedanslaquelleonveutde´tecter et traiter les exceptions. Indiquerlestypesdexceptionsquelonveutr´ecup´erer etpourchacundeuxletraitement`aeectuer. Lecodesitu´edanslasectionestinterrompul`aou` lexceptionsede´clenche(lesinstructionsquisuiventne sontPASexe´cut´ees).Letraitementdelexceptionest eectue´,puislexe´cutionreprendimme´diatementapr`es lezoneded´etection.
MIAGE & GMI FC
Les exceptions - 4
Propagation et traitement
MIAGE & GMI FC
Les exceptions - 5
Les exceptions en Java
En Java, une exception est un objet. La propaga-tion d’une exception implique la transmission d’un ob-jetquipeutporterdesinformationsparticuli`eressur l´eve`nementquivientdeseproduire.
Javad´enitdesclassesparticuli`erespourrepre´senter les exceptions. Ces classes sont toutes des sous-classes deThrowableern´dealtee´engException. Voici la hi´erarchiedesclassesdexception:
MIAGE & GMI FC
Les exceptions - 6
De´clenchementdexception(1)
Certaines exceptions Parmi celles-ci :
sontengendre´esparlelangage.
ArithmeticException
NullPointerException
ArrayIndexOutOf-BoundsException ClassCastException
MIAGE & GMI FC
Division par 0, par exemple Tentativedacc´edera`un objetparuner´ef´erence nulle. Adressage hors des bornes d’un tableau Erreur de conversion de typer´ef´erence.
Les exceptions - 7
D´eclenchementdexception(2)
Onpeutaussid´eclenchervolontairementuneexception grace`alinstructionthrowsuivi d’un objet porteur de l’exception.
Ilfauteng´en´eralcr´eercetobjet,instancedelunedes classesmentionn´eespre´ce´demment.
Exemples :
throw new RuntimeException();
throw new Exception("Argument
MIAGE & GMI FC
incorrect");
Les exceptions - 8
Traitement d’exception en Java
La structure permettant de traiter les exceptions s’ap-pelletry catch finallyN.´evousnrcoilnasopqausei clause finally.
try { //zoneded´etectiondesexceptions } catch (TypeException idException) { // traitement }
Il peut y avoir plusieurs clauses catch.
Quanduneexceptionsurvient,lecodede´nidansla premie`reclausecatchquiluicorrespondestex´ecute´.Si aucuneclauseneconvient,lexceptionestpropage´e.
MIAGE & GMI FC
Les exceptions - 9
Exemple de traitement (1)
try { //zonedede´tectiondesexceptions } catch (ArithmeticException e) { // traitement t1 } catch (NullPointerException e) { // traitement t2 } catch (RuntimeException e) { // traitement t3 }
MIAGE & GMI FC
Les exceptions - 10
Exemple de traitement (2)
Si une “ArithmeticException” se produit, le traitement t1 s’applique ;
Pour une “NullPointerException” t2 s’applique.
Pour une “ClassCastException” ou tout autre “Runti-meException”, c’est t3 qui s’applique.
Lesautresexceptionssontpropage´es.
MIAGE & GMI FC
Les exceptions - 11
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents