Chez oim, forum libreChez oim, forum libre

 



ATTENTION AUX TROLLS !
Signalez les en cliquant sur "signaler au modérateur" sous chaque post.
Ne leur faites jamais face sans fermer la bouche, c'est par là qu'ils déposent leurs oeufs !..
DON'T FEED THE TROLL! Ne l'oubliez jamais !



Pages: [1]   En bas

Auteur Sujet: Source - Assertion personnalisée  (Lu 309 fois)

Songbird

  • Invité
Source - Assertion personnalisée
« le: lundi 11 juillet 2016, 16:00 »

Voici une macro Dart pour personnaliser les assertions écrites et qui seront présentes sans le checked mode, ce qui demandera donc un effort en moins durant la transpilation ou le lancement de la DVM.

Voici le code source avec un test écrit dans la méthode principale:
Code
void main()
{
  assert_macro(1 == 2, "Une erreur est survenue.", 1);
}

void assert_macro(final bool condition, [final String error_message, final int error_code=1])
{
  try
  {
      if(condition == null || error_message == null || error_code == null)
      {
        throw new Exception("condition=${condition}\nerror_message=${error_message}\nerror_code=${error_code}");
      }
   
      if(error_message.isEmpty)
      {
          throw new Exception("error_message(='${error_message}') is empty.");
      }
   
      if(condition == false)
      {
        if(error_code == 0)
        {
          throw new Exception("error code should be greater than 0");
        }
        throw new Exception("${error_message}\nreturn code: $error_code");
      }
  }catch(e, s)
  {
    print(s);
  }
}

Si vous ne spécifiez pas de code d'erreur à renvoyer, la valeur 1 sera la valeur par défaut.
Pages: [1]   En haut
 

+ Réponse Rapide

Page générée en 0.132 secondes avec 21 requêtes.