Message d'erreur
Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.
L'histoire
Vous avez demandé un reste de division, mais le diviseur est zéro, et le moteur a refusé. Voyons pourquoi. Le pourcentage, c'est une division qui met le reste de côté. Pour avoir un reste, il faut d'abord une division. Or diviser par zéro n'a aucun quotient. Sans quotient, il n'y a aucun reste à mettre de côté, et rien à déposer. Dans d'autres langages, cette situation donne un résultat bizarre : pas un nombre, un infini, ou une valeur par défaut. Rush ne fait rien de tout ça. La loi est claire : division et modulo par zéro sont refusés bruyamment. Pas de NaN, pas d'infini, pas de défaut. Un exemple : dix pourcentage zéro. Le message nomme le dividende tel que le tas le contient, et le diviseur tel que vous l'avez écrit. Cela vous aide à repérer d'où vient ce zéro : souvent, c'est une variable qui valait autre chose que ce que vous pensiez. Pour corriger, vérifiez la valeur du diviseur avant l'opération, par exemple avec une condition qui traite le cas zéro à part. Un refus net vaut mieux qu'une réponse bizarre qui voyage plus loin dans votre programme.
Texte issu du catalogue d'erreurs du moteur Rush.
