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 des erreurs


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 109
    Par défaut Gestion des erreurs
    Bonjour,

    Je me demandais quel était la meilleure manière de faire la gestion des erreurs dans son application.

    Mettre beaucoup de try, catch, faire des throw new exeption, faire des fichiers d'erreurs, inscrire les erreurs dans la base de données ...

    Quel sont vos solutions pour assurer la meilleur stabilité possible de vos applications ?

    Merci
    a+

  2. #2
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Moi j'utilise les Try Catch, je proscrit les On Error Goto Erreur et puis j'aime bien utiliser les fichier texte pour faire un log mais surtout pas de base de donnée, ca sert à rien c'est pas fait pour les erreurs.
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 299
    Par défaut
    Bonjour,
    De mon côté, j'ai développé la form suivante, que j'appelle dans un try/catch de la façon suivante

    Try
    ...
    Catch ex As Exception
    Call ExceptionManagement("<nom du module>" ou Me.ToString si on est dans une classe, "<nom de la fonction ou methode>", ex)
    ... (éventuellement d'autres traitements dans le catch)
    End Try

    frmException.vb

    frmException.designer.vb

    De cette façon, les informations détaillées de l'exception apparaissent dans une fenêtre générique...

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    try catch dans chaque sub avec enregistrement de ex.message et ex.Stacktrace (au moins) dans un log et qui eventuellement par aussitot par mail ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut
    Citation Envoyé par sperot51
    try catch dans chaque sub avec enregistrement de ex.message et ex.Stacktrace (au moins) dans un log et qui eventuellement par aussitot par mail ...
    un try catch dans chaque méthode ça doit bien plomber les performances...

    Règle n°1 : On ne catch que ce qu'on peut traiter !

    Mettre des Try...Finally à profusion ok, mettre des try...catch partout c'est une erreur qui tue les performances.


    Citation Envoyé par nikoko34
    Try
    ...
    Catch ex As Exception
    Call ExceptionManagement("<nom du module>" ou Me.ToString si on est dans une classe, "<nom de la fonction ou methode>", ex)
    ... (éventuellement d'autres traitements dans le catch)
    End Try
    Si on souhaite utiliser un quelconque outil de gestion des erreurs, il vaut mieux l'implémenter le plus "haut" possible. Si vous avez besoin de décorer une exception pour avoir un maximum d'info de manière simple, faites-le, mais gardez à l'esprit que chaque catch à un coût sur les performances.
    Laissez l'exception se propager le plus haut possible avant de la traiter.

  6. #6
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par Keihilin
    Laissez l'exception se propager le plus haut possible avant de la traiter.
    Tu entends quoi par la ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Citation Envoyé par Keihilin
    un try catch dans chaque méthode ça doit bien plomber les performances...

    Règle n°1 : On ne catch que ce qu'on peut traiter !

    Mettre des Try...Finally à profusion ok, mettre des try...catch partout c'est une erreur qui tue les performances.
    je voudrais bien savoir d'où vous tenez cette énormité !!!
    si une erreur se produit en effet ca ralenti, le temps de créer la trace de la pile etc.. , mais si pas d'erreur alors pas de ralentissement !
    des erreurs il en arrive de partout, meme du framework !
    et par définition c'est un cas qu'on avait pas prévu ...
    les connaitre ca sert à modifier rapidement le code et donc à avoir moins de bug
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [FB] Gestion des erreurs et application francophone
    Par Benjamin GAGNEUX dans le forum Installation
    Réponses: 10
    Dernier message: 20/05/2006, 14h54
  2. [struts][Datasource]Gestion des erreurs
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 15/09/2004, 16h51
  3. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20
  4. [XSLT]Est ce qu'il y'a la gestion des erreur en xslt ?
    Par miloud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2004, 17h19
  5. [LG]gestion des erreurs
    Par frontin dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2003, 22h41

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