Attention ! Ne cliquez pas sur ce lien, c'est un piège à enfoirés du net !

Chez oim, forum libreChez oim, forum libre

 


Pages: [1]   En bas

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

Songbird

  • Invité
Source - Assertion personnalisée
« le: lundi 11 juillet 2016, 16:00 »
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.
Signaler au modérateur   IP archivée
Pages: [1]   En haut
 

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