Chez oim, forum libreChez oim, forum libre

favicon Google Recherche avancée  

RIP Johnny Halliday

RIP Johnny : 1943 - 2017


Pages: [1]   En bas

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

Songbird

  • Invité
Peut-on propager une exception ?
« 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.
Pages: [1]   En haut
 

+ Réponse Rapide

Page générée en 0.156 secondes avec 20 requêtes.