Les expressions de JavaFX - Partie 2
>> 08 March 2009
while expressions
- L'expression while retourne Void (vide)
- while boucle tant que une condition est true (vrai)
- A instar de Java, le test dans la clause while doit être une valeur boolean
Exemple :
/**@author Kaesar ALNIJRES */
//Attention boucle infinie
//Vous pouvez simplement utiliser while(true)
while(1 < 2)
println("Boucle infinie");
Exemple :
/** * @author Kaesar ALNIJRES */
var x = 10;
var y=0;
while (y < x) //Le code est exécute tant que "y < x"
{ y++;
println(y);
}
break et continue expressions
- break permet de quitter une boucle en-cours
- continue permet de reboucler en sautant les instructions après continue
- Les deux expressions "break" et continue" retournent Void
Exemple :
/** * @author Kaesar ALNIJRES */
//affiche tous les chiffres de 0 à 5 à l'exception de 3
for (i in [0..10])
{ if (i > 5)
{
break;//quitter la boucle
}
if (i == 3)
{
continue; //saute la/les instruction et reboucle
}
println(i);
}
Expression try, catch, finally
Comme en Java l'interruption anormale d'exécution au sein d'un script se traduit par le lancement d'une exception.
Pour éviter l'arrêt anormal d'un script suite à une exception, nous interceptons l'exception pour solutionner le problème, si possible et continuer normalement. Nous pouvons intercepter une grande partie d'exceptions.
Une clause "try" avec ses accolades permet d'entourer des expressions susceptibles de lancer une exception. La clause "catch" suivant "try" permet en cas de problème d'exécuter des expressions prévues par le développeur pour résoudre le problème.
La clause "finally" comme en Java, complète "try" et "catch" et est appelée après la clause try dans tous les cas, si une exception est lancée ou non
Le format dans JavaFX est
try { foo(); }
catch (e: Exception)
{ println("{e.getMessage()}"); }
finally { }
Exemple :
/** * @author Kaesar ALNIJRES */
import java.io.BufferedReader;
import java.io.FileReader;
import java.lang.Exception;
import java.lang.String;
var buffer;
try
{
//ouvre le fichier test.txt
buffer = new BufferedReader(new FileReader("/home/kas/NetBeansProjects/JavaFXApplication2/src/test.txt"));
var s: String;
while ( (s = buffer.readLine()) != null)
{
println(s);
}
} catch (e:Exception)
{
e.printStackTrace();
}
finally
{
try { if(buffer != null)
buffer.close();
} catch (e1:Exception) { e1.printStackTrace(); }
}
Exemple suite :
Si le fichier spécifié n'est pas trouvé, le script lance une exception. Ici la clause catch imprime uniquement l'origine du problème. Dans la pratique et selon la nature de l'erreur, on essaye de trouver une solution pour que le programme continue.
Range expression
Voir Sequences
For expression
Voir for
0 comments:
Post a Comment