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

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 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 Femer une fenetre à partir d une autre fentere [ par amirirn1 ] Bonjour,j aimerai fermer une fenetre à partir d une aautre fenentre,En faite , je fais une operation qui dure qcq min et en attendant la fin de celle URL [ par dibouched ] bonjour a tous j'ai une petite probleme j'accede a des URL dans le but d'obtinir le code source HTML des pages correspendant mais parfois ca marche t Fermer toutes les fenetres enfants [ par cispo ] Bonjour,J'utilise une fenetre parent qui contient donc des fenetres enfants. Jusque la pas de problème.Mais, quand je click sur un bouton de mon menu Panel et affichage [ par taoetc ] Bonjour, j'aimerais faire un truc du meme style que les fenetres non ancré dans l'environnement  de dev vs.net, c'est à dire, j'aimerais pour faire ap [C#] Programme sous windows [ par Yen69 ] Bonjour, je voudrais savoir comment faire pour que les personnes n'ayant pas installer .Net sur leur machines puisse éxécuté mes programmes? Merci Comment obliger le catch d'une exception? [ par tominfo ] Salut, Je cherche à savoir comment on indique à une méthode qu'elle est suscpetible de jetter une exception et que l'objet qui l'appelle soit obligé exception? [ par firas_tn ] Détails de l'exception: System.Data.OleDb.OleDbException: Aucune valeur donnée pour un ou plusieurs des paramètres requis.Erreur source: <TABLE width Initialisation incorrecte ?#@%?! [ par ephilas ] Bonjour à vous, je me tourne une nouvelle fois vers vous parce que je suis dans le brouillard. J'ai fait un petit programme qui permet de télécharge


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,484 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é.