Chez oim, forum libreChez oim, forum libre

 
Pages: [1]   En bas

Auteur Sujet: Source - Assertion personnalisée  (Lu 335 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.191 secondes avec 25 requêtes.