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 :

Gestion propre des erreurs


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut Gestion propre des erreurs
    Bonjour,

    Je suis nouveau en ASP.NET et je me demander comme faire une gestion propre des erreurs. J'utilise un base de données, donc que faire si la base n'est pas accessible, si la requete n'est pas bonne, etc..
    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2008
    Messages : 91
    Points : 100
    Points
    100
    Par défaut
    je te conseille de mettre ton code dans un try Catch (mais seulement le code sensible, comme l'acces a une base de donnée, suppression de donnée etcc).

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    try
    {
    //ton code
    }
    catch(exception ex)
    {
    //et la tu récupère l'erreur et tu l'affiche ou tu peux faire tous autre traitement
    //pour récupérer le message d'erreur
    string erreur = ex.Message;
    }

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    J'ai essayé cela, mais si il n'arrive pas a se connecter à ma base de données, il ne rentre pas dans le catch

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    En catchant la bonne exception ? étonnant.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 42
    Points : 43
    Points
    43
    Par défaut
    Salut,

    Comment écris-tu ton bloc try/catch ? Fais voir ton code car comme le dis Kaidan c'est étonnant...

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        try
        {
            sConnectionString = "Provider=msdaora;Data Source=XE;User Id=hr;Password=hr;";
     
            System.Data.OleDb.OleDbConnection oracleConn = new System.Data.OleDb.OleDbConnection();
            oracleConn.ConnectionString = sConnectionString;
            oracleConn.Open();
            return oracleConn;
        }
        catch(Exception e)
        {
    		Response.Write("<script>alert(\'"+e.ToString()+"\');</"+"script>");
            return null;
        }
    Voila mon code pour me connecter à ma database

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    déjà l'accés à la bd ne pas le mettre dans une page aspx mais dans une dll.
    et en fait je pense que quand tu dis que ca ne rentre pas dans le catch c'est que tu ne vois pas à l'ecran le javascript?
    et le return à ce niveau ne sert à rien.

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    Il faudrait mettre dans du code behind ?
    C'est en cours. En fait je travaille avec SharePoint, et il est assez chiant niveau sécurité. Pour le moment, ca marche comme ca, mais en parallèle, j'essayer de passer en code behind.

    Ensuite, j'ai essayer d'afficher d'autres message dans le catch, mais sans succès. Comme afficher quelquechose sans passer par le javascript ?

    Enfin, je suis obligé de retourner quelquechose, je suis dans une fonction.

    Merci de passer du temps sur mon cas

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 42
    Points : 43
    Points
    43
    Par défaut
    Salut

    Pour une meilleure lisibilité de ton code je te conseil de dissocier la couche métier (acces aux données, sauvegarde, maj, suppression, ...) de la couche graphique (présentation des données).

    Ensuite pour ton bloc try/catch comme tu ve l'utiliser pour la connexion à ta BDD, dans le bloc "try" tu ne mets que : Ce qu'il y a avant peut etre mis avant le "try".

    Pour le "catch" il te suffit d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    catch(Exception ex) {
       MessageBox.show(ex.Message, "Erreur");
    }

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Un MessageBox en ASP.NET cool

    Bon sérieusement, Response.Write("Erreur : " + ex.Message); permet d'écrire l'erreur dans le flux de sortie HTML.

    Et il clairement mieux de récupérer une exception plus pertinente que Exception, par exemple dans le cas d'Oracle une OracleException.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 42
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Kaidan Voir le message
    Un MessageBox en ASP.NET cool

    Bon sérieusement, Response.Write("Erreur : " + ex.Message); permet d'écrire l'erreur dans le flux de sortie HTML.

    Et il clairement mieux de récupérer une exception plus pertinente que Exception, par exemple dans le cas d'Oracle une OracleException.
    Oui c vrai désolé j'étais parti sur du Windows form La honte pour moi !!!

  12. #12
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    OK, je pars la dessus. Merci

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

Discussions similaires

  1. Gestion globale des erreurs
    Par claire_S dans le forum Struts 2
    Réponses: 5
    Dernier message: 20/04/2009, 11h24
  2. Gestion personnalisée des erreurs
    Par Immobilis dans le forum Général Dotnet
    Réponses: 14
    Dernier message: 05/10/2008, 00h20
  3. gestion personnaliser des erreurs PHP
    Par pascalbout1 dans le forum Langage
    Réponses: 2
    Dernier message: 10/12/2007, 16h39
  4. Réponses: 3
    Dernier message: 21/10/2006, 22h46
  5. gestion propre des arguments du main
    Par jobherzt dans le forum C++
    Réponses: 1
    Dernier message: 30/08/2006, 18h17

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