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 :

Exception non catché en mode release


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 208
    Par défaut Exception non catché en mode release
    Bonjour,

    J'ai une application avec le main suivant :
    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
    19
    20
    21
    22
    [STAThread]
    static void Main()
    {
    	try
    	{
    										// Create the main window
    		Main mMain = new Main();
    		// Load the plugin interface
    		mMain.LoadInterface();
    		// Load the configuration
    		mMain.LoadConfiguration();
    		// Show the main window
    		mMain.Show();
     
    		Application.Run(mMain);
    	}
    	catch(Exception eException)
                {
    		// Display a message
    		ErrorMessage.Show(eException)
    	}
    }
    L'application charge un séquenceur d'actions dans un thread séparé, le séquenceur charge dynamiquement un controle utilisateur dans l'interface principale.

    En mode DEBUG, si le controle utilisateur lève une exception sur un évènement (Button_Click par exemple) l'exception est bien catchée par le main.

    En mode RELEASE, en mode autonome et dans le répertoire d'installation de mon application, l'exception n'est pas catchée et est affichée comme une unhandled exception

    Chose bizarre, ne mode RELEASE, depuis visual studio et dans le répertoire d'installation de mon application, l'exception est bien catchée...



    Avez vous une explication, voire une solution à me proposer?

  2. #2
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 614
    Par défaut
    static void Main()
    {
    try
    {
    Main mMain = new Main();
    ...
    Je dois dire que ça, j'ai du mal à comprendre. Comment crées-tu un Main dans le Main point d'entrée du programme ???

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 208
    Par défaut
    Main est une classe qui hérite de system.windows.forms.form.
    Certes elle porte le m^me nom que le point d'entrée de l'application (ce n'est pas très judicieux ) mais cela ne porte pas à confusion pour le compilateur

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 208
    Par défaut
    J'ai ma réponse.
    cf ce post sur le forum MSDN : http://social.msdn.microsoft.com/For...3-cace1ca3eea6

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

Discussions similaires

  1. Attribut de session vidé après une exception non catchée
    Par danyboy85 dans le forum Servlets/JSP
    Réponses: 17
    Dernier message: 04/12/2012, 16h52
  2. Recupérer exception non gérée en mode console
    Par banjo12 dans le forum VB.NET
    Réponses: 0
    Dernier message: 18/07/2008, 16h30
  3. Unhandled Win32 Exception en mode Release
    Par HarKoT dans le forum C++
    Réponses: 5
    Dernier message: 05/12/2007, 15h08
  4. [thread] Exception non catchée
    Par mammistegon dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 22/11/2004, 21h43

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