Chez oim, forum libreChez oim, forum libre

favicon Google Recherche avancée  

Stop SPAM !

Le SPAM n'est pas une fatalité.
Luttez contre le SPAM, signalez chaque SPAM reçu !

Pages: [1]   En bas

Auteur Sujet: Source - Assertion personnalisée  (Lu 249 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.
IP archivée
Pages: [1]   En haut
 

+ Réponse Rapide

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