Un try/catch permet d'effectuer une(des) manoeuvre(s) (située(s) dans la portée du try) susceptible(s) de provoquer une exception (on "tombe" alors dans la portée du catch). Selon l'exception, on peut alors agir en conséquence.
Code :
- try {
- // ici je fais un truc cochon qui va "throw"er une exception du type TrucCochonException
- } catch (TrucCochonException e) {
- // j'agis en conséquence du truc cochon
- } catch (TrucDegueuException e) {
- // j'agis en conséquence du truc dégueu
- }
|
Comme tu le vois, on n'a pas nécessairement besoin d'un do/while pour utiliser un try/catch.
Ce que tu peux faire :
- dans le do{}, tu fais le try/catch qui va récupérer la String et l'analyser.
- Si l'analyse dit que la String saisie est incorrecte, tu throw une Exception. Exemple alakon pour lâcher une exception :
Code :
- String maString = "kikoolol";
- if (maString.length() > 2) {
- throw new Exception("Y'a beaucoup de lettres dis donc" );
- }
|
- Par conséquent, le programme ira dans la portée du catch{} (tu diras à l'utilisateur que la String est incorrecte).
- A la fin du catch{} : le do{} pourra continuer.
Généralement, on se crée une classe perso qui hérite de la classe java.lang.Exception pour thrower sa propre Exception (pour savoir exactement quel type d'exception a été rencontrée dans le programme).