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 :

gestion d'erreurs (erreur code)


Sujet :

VB.NET

  1. #1
    Membre habitué Avatar de lakhdar16
    Homme Profil pro
    West POS Senior Representative
    Inscrit en
    Avril 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Algérie

    Informations professionnelles :
    Activité : West POS Senior Representative
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 170
    Points : 127
    Points
    127
    Par défaut gestion d'erreurs (erreur code)
    Bonjour,

    bon voila j'ai des difficulté pour gérer la gestion des erreurs dans le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Private Sub Valider_Commande_Click()
    Dim i, vd, vf As Double
    Dim NS_Début, NS_Fin As Double
     
    If NS_Début = null And NS_Fin = null Then
                MsgBox " Entrez un numéro de série valide"
            Else
           If NS_Début = null Then
        CurrentDb.Execute "INSERT INTO [commandes]([dd],[N_série],[date_prélèvement],[commercial]) VALUES(" & Me.N_decharge & "," & Me.NS_Fin & ",'" & Me.date_de_prélèvement & "','" & Me.commercial & "')"
                  Else
                  If NS_Fin = null Then
            CurrentDb.Execute "INSERT INTO [commandes]([dd],[N_série],[date_prélèvement],[commercial]) VALUES(" & Me.N_decharge & "," & Me.NS_Début & ",'" & Me.date_de_prélèvement & "','" & Me.commercial & "')"
                        Else
                        If NS_Début < NS_Fin Then
                                        vd = NS_Début
                                        vf = NS_Fin
                                     Else
                                        vd = NS_Fin
                                        vf = NS_Début
                         End If
                         For i = vd To vf
                         CurrentDb.Execute "INSERT INTO [commandes]([dd],[N_série],[date_prélèvement],[commercial]) VALUES(" & Me.N_decharge & "," & i & ",'" & Me.date_de_prélèvement & "','" & Me.commercial & "')"
                         Next i
                  End If
           End If
    End If
     
    MsgBox " commande validée "
     
    End Sub
    ca marche pas, prière de m'indiquer la solution svp.

    merci à vous

  2. #2
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Points : 347
    Points
    347
    Par défaut
    Pour la gestion des erreurs, il est préférable que tu utilises le Try. Dans ton exemple je préfère que tu utilises des Case au lieu de faire une condition après l'autre.

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    A ne pas confondre la gestion d'erreur de ton logiciel et la gestion d'erreur de saisie de ton utilisateur.

    Les bloc try catch (qui sont effectivement à mettre dans ton code) doivent servir uniquement à traiter les causes d'erreur que tu n'as pas "encore" détectée (ou alors ou tu n'as pas de contrôle dessus).

    Ils ne servent en aucun cas à récupérer des cas particuliers ou l'utilisateur fait une action illégale qui ferrait planter une fonction/procédure (texte trop long pour une base de donnée,mettre une valeur qui provoque une division par zéro par exemple). Pourquoi? Principalement parce que la gestion des exceptions est très coûteuse en terme de performance et ensuite aussi parce que le débogage de votre programme devient vite infernal s'il faut déterminer qu'un exception est "normal" ou si votre programme doit vraiment faire l'objet d'une correction (surtout dans une boucle...).

    En théorie on peut dire qu'idéalement une exception (avec les même paramètres d'environnement) devrait se produire qu'une seule fois dans la vie de votre programme (ensuite ce dernier est corrigé afin que cette exception ne puisse plus se lancer)...

Discussions similaires

  1. Aide codage gestion d'erreur Qr Code reed solomon
    Par bglacial dans le forum Général Java
    Réponses: 0
    Dernier message: 04/01/2012, 15h06
  2. Réponses: 19
    Dernier message: 28/09/2010, 18h30
  3. Gestion Dorsale/Frontale erreur code
    Par surrounded dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/08/2007, 14h53
  4. Réponses: 4
    Dernier message: 05/06/2006, 11h34
  5. gestion d'une erreur
    Par Jeannotc dans le forum Bases de données
    Réponses: 8
    Dernier message: 25/06/2004, 18h04

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