Thread & Exception

Résolu
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 18 mai 2005 à 07:54
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 20 mai 2005 à 07:57
Bonjour,
En fait j'ai une méthode qui démarre un nouveau thread (une méthode d'un autre object) et dans ce nouveau thread, il est possible qu'il se produise des exceptions. J'ai essayé de faire un throw pour récupérer l'exception dans mon thread courant, mais ça ne fonctionne pas. Pourquoi, et comment faire pour régler ce problème ?

Voici environ ce que je fais :

J'ai deux class A et B.
Dans une méthode de A, je fais ceci

try
{
....
B b = new B();
Thread t = new Thread(new ThreadStart(b.Method));
t.Start();
....
}
catch(Exception ex)
{
}

Or si la méthode Method de B lance une exception, je n'arrive pas à la récupérer dans mon catch, malgré le fait que je fasse un throw.
Merci pour votre aide !

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever

4 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
20 mai 2005 à 07:57
En fait il s'agit effectivement d'un problème de conception.
J'ai plus ou moins réussi à résoudre mon problème en ayant une approche différente, mais la bonne solution n'est surement pas de passer par des events... Un thread doit traiter ces propres exceptions !

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
18 mai 2005 à 09:41
Arf oui, j'ai jamais expérimenté ce souci.

Donc je vais regarder ce que ca donne pour ce type de problème.

Mais sinon, une solution serait de déclencher un évenement lorsqu'une
exception est levée, et d'y abonner ton instance B dans ta classe
principale.



J'vais chercher voir si y'a pas une manière plus "normale" de récuperer une exception autrement.

Mx
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
18 mai 2005 à 09:56
J'y ai aussi pensé en fait, mais je savais pas si c'était une bonne approche !?

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
19 mai 2005 à 09:53
En fait, le système ne me convient pas tout à fait (avec les events).
C'est vraiment assez lourd comme solution.

Malheureusement, je crois que y'a pas de solutions directes avec les exceptions, c'est peut-être plutot du à une erreur de conception de ma part....

Je suis toujours preneur pour d'éventuelles solutions.

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
Rejoignez-nous