Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : trap exception [ Système / Exécution ] (babe59)

lundi 11 février 2008 à 11:54:07 | trap exception

babe59

Bonjour,

Les try/catch ne fonctionnent pas lorsque j'execute mon programme sur un autre PC ou si le lance mon programme à partir de Visual Studio en faisant CTRL + F5 (mode Release).
Donc au lieu d'afficher une fenetre personnalisée, j'affiche la fenetre d'erreur Windows (jut + bouton continuer/ quitter)

Quelqu'un sait il pourquoi ?

Merci

DT


lundi 11 février 2008 à 12:15:26 | Re : trap exception

Nikoui

S'agit il d'un type d'exception en particulier (si oui lequel) ou de toutes les exceptions ?


Working as designed
www.nikoui.fr

mardi 12 février 2008 à 08:59:03 | Re : trap exception

babe59

pas de type particulier.Dans l'exemple ci dessous, c'est lors d'un accès à une base de données. Mais c'et la même chose si à la place de l'insert SQL je mets simplement  le code : thrownewException("ee");

Ex:

Internal

staticint InsertNewHiring()
{
.... Insert SQL
}

////////////////////////////////////////////////////////////////////////////////

private

void btnOk_Click(object sender, EventArgs e)
{
   
try
   ...
   {
      ...
      Int32 pkNeawHiring = Data.InsertNewHiring();
      ...
   }
   catch (Exception ex)
   {
      Error.Show("xxxx", ex.Message + "\n" + ex.InnerException);
   }

}



DT

mardi 12 février 2008 à 10:22:52 | Re : trap exception

Miltiades

Membre Club
c'est quoi les points de suspension entre le try et l'accolade?
si tu as reellement mis du code entre l'accolade et ton try, c'est normale que tu trappes jamais les exceptions...
sinon... c'est tres bizarre...

Nul ne devient grand par la guerre...

mardi 12 février 2008 à 10:40:31 | Re : trap exception

babe59

Afin de faire les choses bien... J'ai mis un try/catch lors du lancement de l'application et surtout afin de trapper toutes les erreurs
try
   {
      Application.Run(newFrmMain(_userName, _superUser, _pkLogin));
   }
catch (Exception ex)
   {
      Error.Show("Erreur de l'application", "Erreur interne", "Program", "Main", ex.Message + "\n" + ex.InnerException);
      return;
  }



DT

mardi 12 février 2008 à 10:55:38 | Re : trap exception

Miltiades

Membre Club
je suis pas sur que ce soit le meme thread... a vérifier...
si tu veux faire un test, met un try catch juste autour de ton exception... voir si tu la recupere bien...

Nul ne devient grand par la guerre...

mardi 12 février 2008 à 11:24:37 | Re : trap exception

Nikoui

Et si tu remplaces :
Error.Show([...])

par :
MessageBox.Show([...])

Ca change quelque chose?


Working as designed
www.nikoui.fr

mardi 12 février 2008 à 11:45:31 | Re : trap exception

babe59

Militades : si je mets un try/catch au niveau de l'exception (dans la classe correspondante) et non pas dans program.cs sa fonctionne. Par contre pour le thread, pourquoi en execution classique (sans CTRL F5) sa fonctionne ?

Nikoui : je vois où tu veux en venir, mais non cela ne change rien...




DT

mardi 12 février 2008 à 13:28:44 | Re : trap exception

Miltiades

Membre Club
A ma connaissance, les exception sont faites pour etre traitée au plus haut, c'est a dire le plus près possible de celui qui lance l'exception, donc theoriquement c'est pas genant que tu puisses pas intercepter une erreur au niveau de l'application... quand a savoir pourquoi ca marche en debug et pas sans le debug... je sais pas d'ou ca vient ^^

Nul ne devient grand par la guerre...

mardi 12 février 2008 à 14:21:10 | Re : trap exception

babe59

Réponse acceptée !
Je viens de trouver la réponse :

L'objet Application n'est pas "sensible" au try/catch.
En fait, l'objet Application possède un évènement ThreadException qui se déclenche quand justement une erreur non gérée survient.

--- Dans le main ----

Application.ThreadException += newThreadExceptionEventHandler(MyExceptionHandler);
Application.Run(newFrmMain(_userName, _superUser, _pkLogin));--- ----

publicstaticvoid MyExceptionHandler(object sender, ThreadExceptionEventArgs e)
{
Exception ex = e.Exception;
Error.Show("Erreur de l'application", "Erreur interne", "Program", "Main", ex.Message + "\n" + ex.InnerException)
Application.Exit();
}

Merci pour votre aide
DT


1 2

Cette discussion est classé dans : programme, fenetre, exception, trap


Répondre à ce message

Sujets en rapport avec ce message

Exception FileIOPermission, mscorlib (exe réseau) [ par Gaxx ] Bonjour,J'ai un exécutable qui doit être utilisé par plusieurs personnes et, pour simplifier la maintenance, j'aimerai que le programme puisse être la Problème de permissions à l'exécution [ par baxtrf ] Bonjour à tous !Je me trouve face à un problème que je n'arrive pas à résoudre :J'ai développé un programme qui est amené à être exécuté au sein de mo [C#][CF 1.1] Comment mettre un textbox a la taille de la fenetre? [ par foolsky ] Voila je connais des fonction pour mettre le text box a la taile exact de la fenetre comm ANchor mais elle ne fonctionne pas sous Compact Framework 1. PrinterDialogSettings [ par francesdereve ] Comment ecrire un programme en c# qui permet de selectionner toutes les imprimantes conectés à l'ordinateur ensuite ce programme doit permettre d'impr Programme : messagerie réseau [ par Dami_bachelet ] Bonjour tout le monde, voici mon petit problème :Je dois réaliser un petit programme en c# qui listerait les postes connectés sur un réseau pour pouvo Fermeture de form [ par nico4nicolas ] Bonjour, Dans mon application j'ai plusieurs fenetres qui peuvent s'afficher en meme temps, le probleme est que, quand une boite de dialogue s'affich compteur réel [ par JCpp ] Bonjour, Je voudrais réaliser un compteur pour savoir le nombre de personne qui utilise mon programme en temps réel. <P class=MsoNormal style imprimer tout le contenu de ma fenetre [ par cedoli ] Salut à tous, j'aimerais imprier le contenu entier de ma fenetre, donc en faire une "photo" et l'imprimer. Je ne trouve pas d'exemple avec un printdia Form plein ecran [ par rab33 ] salut si qlq sait comment faire une fenetre plein ecran mais sans tete qui contient les botton de maximiser et reduit, minimiser et comment personnali inclure exécutable dans .NET programme et dans une forme [ par brunocharest ] Bonjour,Je suis un nouveau codeur C#. J'essais d'inclure et de faire démarrer un exécutable externe dans une forme d'un programme C# avec l'outil Visu


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.