Attention ! Ne cliquez pas sur ce lien, c'est un piège à enfoirés du net !

Chez oim, forum libreChez oim, forum libre

 


Pages: [1]   En bas

Auteur Sujet: Peut-on propager une exception ?  (Lu 2900 fois)

Songbird

  • Invité
Peut-on propager une exception ?
« le: vendredi 01 juillet 2016, 21:50 »
le: vendredi 01 juillet 2016, 21:50

En Java, grâce au mot-clé throws, il est possible de propager l'exception à l'extérieur d'une méthode et/ou d'un constructeur pour laisser l'utilisateur gérer les erreurs à sa guise.

En revanche, Dart ne supporte pas cette fonctionnalité.
Le langage part du principe que si vous créez une ressource destinée à être utilisée par quelqu'un d'autre, c'est à vous de gérer l'erreur. (facilitant alors de debugging pour les débutants qui ont tendance à faire ceci):
Code
try
{
    java.io.BufferedReader buffer = new BufferedReader(new java.io.FileReader(new java.io.File("yourFile")));
}catch(IOException ioe){} //A NE JAMAIS FAIRE !

L'exemple est en Java, mais ça aurait pu être le cas en Dart si il supportait ce genre de fonctionnalités.

Lorsque vous avez besoin de lancer une exception, vous serez obligé de la catcher directement comme ceci:

Code
try
{
    if(1 > 2){ throw new Exception("An error was occurred");}
}catch(e, s)
{
    print(s);
}

Vous pouvez d'ailleurs essayer par vous-même d'adopter cette syntaxe:

Code
void my_function() throws Exception{}

ça ne fonctionnera pas.
Signaler au modérateur   IP archivée
Pages: [1]   En haut
 

Page générée en 0.104 secondes avec 18 requêtes.