IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème division par zéro


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 4
    Points : 7
    Points
    7
    Par défaut Problème division par zéro
    Bonjour,

    Je débute tout juste sous visual basic .net avec visual studio express 2013 et je suis bloqué dès ma première application. Je m'excuse de cette question naïve mais je n'arrive pas à trouver une réponse dans toutes mes lectures.

    J'ai créé une Form avec 2 NumericUpDown et une TextBox.
    Les deux numericUpDown ont leur propriété Value à 1.

    Je rédige un petit code au changement de chaque NumericUpDown de façon à diviser l'une par l'autre et à afficher le résultat dans la TextBox :


    TextBox1.Text = NumericUpDown1.Value / NumericUpDown2.Value


    J'ai alors le message d'erreur :

    Une exception de type 'System.DivideByZeroException' s'est produite dans mscorlib.dll mais n'a pas été gérée dans le code utilisateur

    Informations supplémentaires*: Tentative de division par zéro.


    Je ne comprends pas pourquoi dans la mesure où NumericUpDown2.Value est différente de 0.

    Quelqu'un peut-il m'expliquer.

    Merci.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    quand on créé l'interface graphique, visual studio génère du code dans un fichier "caché" .designer.vb
    tu peux afficher les fichiers cachés via un bouton en haut dans l'explorateur de solution

    et donc on y voit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim NumericUpDown2 as new numericupdown
    NumericUpDown2.value = 1 ' vu que tu as mis 1 en mode design
    avant qu'il vaille 1 il vaut donc la valeur par défaut qui est 0
    et vu que ton premier numericupdown doit recevoir sa valeur avant le numéro 2 l'event valuechanged est déclenché entre temps ce qui fait que ta division plante

    donc soit faire un test en début de méthode pour sortir (if = 0 then exit sub)
    soit mettre un try catch et aimer le code moins propre
    soit mettre un boléen sur ta classe pour dire que l'initialisation est terminée et tester en début de méthode (if _initdone = false then exit sub) (et donc le mettre à true à la fin du sub new ou sur le form_load)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup, j'avais bien pensé a un problème d'initialisation mais j'étais incapable de mettre le doigt dessus.

    le test ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If NumericUpDown2.Value = 0 Then Exit Sub
    ... fonctionne bien et je n'ai plus de problème.

    Encore merci.

    J'ai beaucoup de progrès à faire !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Division par zéro
    Par soltani1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/05/2006, 09h42
  2. [Tableaux] Pb de division par zéro...
    Par blueice dans le forum Langage
    Réponses: 8
    Dernier message: 16/12/2005, 15h52
  3. [CR][VS.NET]Division par zéro
    Par San Soussy dans le forum SDK
    Réponses: 2
    Dernier message: 31/08/2005, 14h40
  4. [CR8.5] Problème de division par zéro sur formule
    Par franck.cvitrans dans le forum Formules
    Réponses: 3
    Dernier message: 10/06/2004, 13h41
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo