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

C# Discussion :

récupérer type exception


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Par défaut récupérer type exception
    Bonjour

    j'aimerais savoir si il ya un moyen de tester le type d'une exception ?

    Si oui, comment ?

    Merci

  2. #2
    Membre éclairé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Par défaut
    Tu peux surement utiliser GetType():

    http://msdn.microsoft.com/fr-fr/libr...pe(VS.80).aspx

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Par défaut
    j'ai déja essayé un code qui ressemble à celui-ci

    try{
    .......
    .......
    }
    catch(Exception ex)
    {
    string test = ex.GetType().ToString();
    }
    à l'exécution test est égal à : Exception.

    Or, j'aimerais savoir si il s'agi d'un SQLException, ou autres...

  4. #4
    Membre éclairé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2008
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2008
    Messages : 423
    Par défaut
    Ok je ne pense pas que ce soit possible.
    Le seul moyen (à ma connaissance, donc je me trompe surement ) est de catch toutes les exceptions possibles...

  5. #5
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Par défaut
    Et si tu fais ca, est ce que ca correspond à ce que tu veux?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    catch(Exception ex)
    {
    string test = ex.Message;
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Par défaut
    Citation Envoyé par tom572007 Voir le message
    Et si tu fais ca, est ce que ca correspond à ce que tu veux?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    catch(Exception ex)
    {
    string test = ex.Message;
    }
    non pas du tout

  7. #7
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Citation Envoyé par realkilla Voir le message
    j'ai déja essayé un code qui ressemble à celui-ci
    string test = ex.GetType().ToString();
    à l'exécution test est égal à : Exception.
    Sûr ?
    Sûr sûr ?
    http://msdn.microsoft.com/fr-fr/libr...t.gettype.aspx
    GetType() renvoie le vrai type de l'objet, pas celui de la référence.

  8. #8
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Par défaut
    Normalement le GetType() devrait marcher, il me semble.

  9. #9
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par realkilla Voir le message
    j'ai déja essayé un code qui ressemble à celui-ci



    à l'exécution test est égal à : Exception.

    Or, j'aimerais savoir si il s'agi d'un SQLException, ou autres...
    Utiliser déjà Name au lieu de ToString().

    Le fonctionnement de GetType donne le type effectif de l'instance contenu dans la variable; il n'y a aucune raison pour que cela ne fonctionne pas avec les classes dérivées de Exception.

    Ceci dit, il peut être intéressant d'examiner le InnerException le cas échéant; par exemple

    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
     
    catch(Exception exception)
    {
    Type exceptionType;
    exceptionType = exception.GetType().;
    if(exceptionType == typeof(Exception)
    {
      Exception innerException = exception.InnerException;
      if(innerException != null)
      {
          exceptionType = innerException.GetType();
       }
    }
    string exceptionTypeName = exceptionType.Name;
    }

Discussions similaires

  1. Récupérer type d'exception SoapFault
    Par romcube dans le forum Services Web
    Réponses: 0
    Dernier message: 15/03/2009, 23h49
  2. erreur de type Exception de HRESULT
    Par zit_zit dans le forum VB.NET
    Réponses: 10
    Dernier message: 18/12/2007, 17h53
  3. Récupérer une exception dans une page d'erreur
    Par crawling5 dans le forum JSF
    Réponses: 3
    Dernier message: 15/11/2007, 08h46
  4. [WinDev 7.5] Récupérer une exception
    Par sylsau dans le forum WinDev
    Réponses: 1
    Dernier message: 29/12/2006, 18h01
  5. [Exception] Récupérer l'exception correspondante
    Par Mister Nono dans le forum Langage
    Réponses: 2
    Dernier message: 09/06/2004, 18h47

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