Chez oim, forum libre

Débattre => Informatique, programmation, geek attitude... => Discussion démarrée par: Songbird le mercredi 13 juillet 2016, 15:28

Titre: Comment utiliser le mot-clé rethrow ?
Posté par: Songbird le mercredi 13 juillet 2016, 15:28
Le mot-clé rethrow pourrait être comparé au mot-clé throws en Java, mais il n'est pas positionné de la même manière.

Il permet de propager une erreur jusqu'au try/catch suivant, qui, lui, sera chargé de la traiter une bonne fois pour toute. (ou de la repropager, si besoin, évidemment)

Le mot-clé doit se trouver dans le catch pour fonctionner correctement, comme ceci:
Code
void main() 
{
  try
  {
   test();
  }catch(e, s)
  {
    print("$s");
  }
}

void test()
{
  try
  {
    throw 1;
  }catch(e, s)
  {
    
    rethrow;
  }
}

Vous pouvez tester l'exemple et voir la trace de l'erreur ici (https://dartpad.dartlang.org/adbc3df380f795590d52e90614d49f67).