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

ASP.NET Discussion :

Avis sur une méthode de gestion d'erreur


Sujet :

ASP.NET

  1. #1
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut Avis sur une méthode de gestion d'erreur
    Bonjour tout le monde !

    Je suis en train de commencer un site intranet en asp.net 2.0
    J'ai vu que l'on pouvait gérer les exceptions non gérés dans le fichier global.asx ou dans le fichier web.config.

    J'ai commencé par réaliser ma classe de connexion à mon serveur sql en utilisant ADO.net... jusque la pas de souci.

    Mon problème est quand mon serveur sql n'est plus joignable pour une raison X. Je peux évidemment rédiriger vers une page d'erreur en paramétrant les 2 fichiers cités ci dessus.

    Pour le fichier webconfig je redirige toutes les erreurs non gérés vers un fichier error.aspx par exemple.

    Mes 2 questions sont :
    - Est-il possible de savoir si l'erreur générée vient bien de ma connection sql et comment l'exploiter ? (pour pouvoir distinguer les erreurs sql d'éventuelles autres erreurs non gérés de mon application)
    - Est ce qu'il vaut mieux gérer ce genre d'erreur par ces 2 fichiers ou modifier ma classe en incorporant des try , catch ?

    Merci pour vos réponses

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Dans ma boite, on est plutot partisan des Try Catch.
    On a aussi bien sûr une gestion au niveau du global.asax au cas où.

    Pour les pages d'erreur, je te conseille plutot une page htm car si c'est IIS qui est dans les choux, error.aspx s'affichera pas ^^

  3. #3
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    744
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2004
    Messages : 744
    Points : 1 352
    Points
    1 352
    Par défaut
    Tu peux récuperer la dernière exception levée grâce à : Server.GetLastError(). A partir de là tu peux définir le type d'erreur.

    bien à toi,

    Ludovic,
    Envie de contribuer à la rubrique SharePoint ? Contactez moi par MP !

    SharePoint : http://sharepoint.developpez.com
    Mon site : http://lefortludovic.developpez.com
    Mon blog : http://www.consultpoint.net/blog

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Je galère un peu avec mes exceptions.

    Je voulais pouvoir gérer mes exceptions en fonction du message de ceux-ci.

    Dans la méthode Application_Error du fichier Global.asax


    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
     
    void Application_Error(object sender, EventArgs e) 
        {
     
            // Code qui s'exécute lorsqu'une erreur non gérée se produit
            Exception ex = Server.GetLastError();
     
            if (ex.Message == "Erreur de connection au serveur sql")
            {
                 Response.Redirect("error.htm");
     
            }
     
            if (ex.Message == "Erreur traitement requete SQL")
            {
                 Response.Redirect("error_traitement_sql.htm");
            }       
    }
    Je me retrouve avec la page d'erreur standard d'asp.
    Peux t'on procéder comme ca ?

  5. #5
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bon j'ai trouvé mon erreur .. C'était tout bête

    Ce n'était ex.Message mais ex.InnerException.Message qu'il fait mettre

    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
    void Application_Error(object sender, EventArgs e) 
        {
            
            // Code qui s'exécute lorsqu'une erreur non gérée se produit
            Exception ex = Server.GetLastError();
     
            if (ex.InnerException.Message == "Erreur de connection au serveur sql")
            {
                 Response.Redirect("error.htm");
                 
            }
     
            if (ex.InnerException.Message== "Erreur traitement requete SQL")
            {
                 Response.Redirect("error_traitement_sql.htm");
            }       
    }

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 30/04/2015, 14h43
  2. Avis sur une méthode de rappel ?
    Par Shypster dans le forum C#
    Réponses: 18
    Dernier message: 25/03/2010, 15h38
  3. Avis sur une méthode
    Par sliderman dans le forum Langage
    Réponses: 1
    Dernier message: 19/08/2008, 22h05
  4. Besoin d'avis sur une méthode
    Par g_barthe dans le forum PyQt
    Réponses: 1
    Dernier message: 12/10/2007, 17h54
  5. [Conception] Votre avis sur une méthode
    Par AIexis dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 17/04/2007, 18h08

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