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

Runtime Discussion :

[2007]La gestion d'erreur doit-elle être systématique?


Sujet :

Runtime

  1. #1
    Membre averti
    Directeur technique
    Inscrit en
    Novembre 2006
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 584
    Points : 403
    Points
    403
    Par défaut [2007]La gestion d'erreur doit-elle être systématique?
    Bonjour à tous,

    J'ai développé mon appli sans trop me soucier de la gestion des erreurs.
    J'ai celles mises par Access quand j'utilise l'assistant plus quelques unes handmades.
    Je constate qu'Access fait une gestions systématique et je me dis que ce n'est peut-être pas par hazard...
    J'ai traité certains cas reconnus en faisant des tests qui m'évitent d'avoir une erreur, mais bien évidement je n'ai pas tout vu et n'ai pas envisagé des cas dont je ne soupçonne même pas l'exitence.
    Mon application est destinée à être distribuée en runtime.

    Vers quels graves ennuis je me dirige?
    Si j'ai une erreur avec mon runtime (je n'ai aucune expérience runtime) comment ça se termine? Ctrl+Alt+Del?

    Dois-je faire une gestion d'erreur systematique?
    Ce type de gestion est-il passe-partout?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub cmdEnvoyerListe_Click()
    On Error GoTo Err_cmdEnvoyerListe_Click
        Dim stDocName As String
        stDocName = "rptRechMulti"
        DoCmd.SendObject acReport, stDocName
    Exit_cmdEnvoyerListe_Click:
        Exit Sub
    Err_cmdEnvoyerListe_Click:
        MsgBox Err.Description
        Resume Exit_cmdEnvoyerListe_Click
     
    End Sub
    Merci de votre attention.

  2. #2
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Salut,
    Si tu travailles en Runtime, chaque erreur va te planter ta base et te la fermer, d'où, importance de la gestion d'erreur...

  3. #3
    Membre averti
    Directeur technique
    Inscrit en
    Novembre 2006
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 584
    Points : 403
    Points
    403
    Par défaut
    Merci jpl,
    Je m'en doutais un peu...
    Donc, je dois inclure une gestion pour tous les sub et toutes les fonctions?
    L'exemple que j'ai donné est-il adapté à tous les cas?

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 371
    Points : 23 845
    Points
    23 845
    Par défaut
    Non tu n'as pas a inclure la gestion d'erreur dans chaque fonction ou sub.

    Il suffit de la mettre à des endrois stratégiques.

    Par exemple si tu as une fonction haut niveau qui appele une série de sous-fonctions, généralement on met la gestion d'erreur dans la fonction principale.

    La question qu'il faut se poser est "Le bout de code qui génère l'erreur a-t'il suffisement d'info pour la traiter localement ?"

    Si oui, alors il est utile de mettre un traitement d'erreur,

    sinon il l'ignore et l'erreur remonte au niveau du dessus.


    A+

  5. #5
    Membre averti
    Directeur technique
    Inscrit en
    Novembre 2006
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 584
    Points : 403
    Points
    403
    Par défaut
    Marot r:
    sinon il l'ignore et l'erreur remonte au niveau du dessus.
    Pour qu'il ignore l'erreur ne faut-il pas une "gestion d'erreur"?

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 371
    Points : 23 845
    Points
    23 845
    Par défaut
    Non, c'est un méchanisme interne à Access, s'il n'y a pas de On Error ... dans la procédure ou la fonction, Access termine l'exécution à la ligne fautive et remonte la pile d'appel jusqu'à ce qu'il rencontre un programme de traitement des erreurs.

    A+

  7. #7
    Membre averti
    Directeur technique
    Inscrit en
    Novembre 2006
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 584
    Points : 403
    Points
    403
    Par défaut
    Merci, c'est déjà plus clair pour moi.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/09/2011, 14h58
  2. Réponses: 0
    Dernier message: 13/08/2011, 09h35
  3. cette relation doit-elle être supprimer ?
    Par yacine.dev dans le forum Merise
    Réponses: 1
    Dernier message: 10/01/2011, 19h42
  4. Réponses: 3
    Dernier message: 21/06/2010, 23h17
  5. Réponses: 12
    Dernier message: 07/05/2009, 17h55

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