Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#] Blibliothèque de classes

Attraper une erreur dans une Blibliothèque de classes

Sujet résolu
    3 avril 2012 à 9:53:19

    Bonjour à tous,

    J'ai créer une bibliothèque de classes pour assurer la connexion avec MySql.
    Le problème est que lorsque le serveur n'est pas lancé, et que je veux ouvrir la connexion vers lui, j'attrape une exception.

    J'aimerais pouvoir afficher cet exception dans mon programme principal et la je bloque, je ne vois pas comment faire ?

    Si certain d'entre vous on des idées, je suis preneur. :p

    Voici une partie de code de la biblio
    CreerCommande("Selectionnertype_point_appel");
    Commande.Parameters.AddWithValue("@Ind", Index); 
    try
    {
       Commande.Connection.Open();
    }
    catch (MySqlException MyExc)
    {
       MyException = MyExc.Message; 
    }
    MySqlDataReader dr = Commande.ExecuteReader();


    P.S: La .DLL créée par la bibliothèque de classes est bien mise en référence dans mon programme principal
    • Partager sur Facebook
    • Partager sur Twitter
      3 avril 2012 à 11:16:47

      La CLR fonctionne sous forme de pile d'appel :
      Main
      MethodA
      MethodB
      MethodC
      RetourC
      RetourB
      RetourA
      RetourMain (fin du programme)

      Si, à un moment ou à un autre, une exception est levée dans cette pile d'appel, l'exception sera remontée à l'appelant tant qu'aucun Try-Catch n'est remonté.

      Si l'exception est remontée jusqu'à la racine de l'application (à savoir "au dessus" de la méthode Main"), celle-ci crash et on a droit au classique message "<Nom de l'application> a cessé de fonctionner".

      Suivant cette logique, si tu veux catcher des exceptions ailleurs que dans ta DLL, tu as juste à supprimer le try-catch de la DLL...L'exception sera alors remontée jusqu'au prochain try-catch rencontré.
      • Partager sur Facebook
      • Partager sur Twitter
        4 avril 2012 à 11:22:26

        Merci pour ta réponse très clair Nisnor.
        Cela fonctionne exactement comme tu l'as dit :)
        • Partager sur Facebook
        • Partager sur Twitter

        [C#] Blibliothèque de classes

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown