Threads et Exceptions

Threads et Exceptions - Java - Programmation

Marsh Posté le 17-06-2003 à 17:37:11    

Yo,
 
Y a t'il des best practices concernant la gestion des exceptions dans les threads?
En gros j'ai une exception dans la methode run de mon Runnable, je ne peux pas la laisser remonter, vu la signature de run, mais quel est selon vous la meilleure façon de faire...? catcher/logger et laisser crever, ou bien ...?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 17-06-2003 à 17:37:11   

Reply

Marsh Posté le 17-06-2003 à 17:56:26    

Ba tout dépend de la gravité de l'exception, non ? Si t'es capable de t'en remettre, tu catches pis tu logges pis tu passes à autre chose [:spamafote] Si c'est un problème critique dont la continuation de ton Thread dépend, ba si tu peux afficher un message d'erreur, fais-le pis tue ton Thread proprement.
C'est assez dépendant du type de l'exception et de l'appli, je pense.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 17-06-2003 à 17:57:55    

merde jsais meme pas comment tuer un thread proprement :/


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 17-06-2003 à 18:00:02    

the real moins moins a écrit :

merde jsais meme pas comment tuer un thread proprement :/


 [:ddr555]
Ba si t'as la main et que t'es dans ta méthode run(), tu te casses de la méthode et zou [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 17-06-2003 à 18:03:22    

Taiche a écrit :


 [:ddr555]
Ba si t'as la main et que t'es dans ta méthode run(), tu te casses de la méthode et zou [:spamafote]

ha ok [:ddr555]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 17-06-2003 à 18:33:57    


tuer un Thread proprement = le laisser mourrir de sa belle mort. Qu'il sorte du run, quoi !
 
autre solution, si tu sais pas quoi faire de l'exception, tu throws une RuntimeException (qui peut agréger l'exception original). Elle sera logguée dans le stderr (ou le out, mais je crois que c'est le stderr);
Après tout c'est bien ce dont il s'agit : une exception que tu n'as pas su traiter au runtime ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 17-06-2003 à 18:36:47    

:jap:
 
 
(moi et les threads... quand j'en fais c'est parce que je *dois* et j'ai jamais vraiment eu l'occasion d'apprendre :/)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 17-06-2003 à 18:46:06    

bha c'est pas si compliqué en fait ...
 
fais un bot, t'apprendras plein de trucs ! [:ddr555]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 17-06-2003 à 18:52:33    

:D
 
 
encore un truc...
j'implemente Runnable
(ou plutot j'implement une itf qui etend Runnable mais bon)
... soit je garde une reference (dans un Vector par ex) de mes Runnables, et je n'ai pas accès a la methode isAlive du thread concerné
... soit je garde une ref des Threads (new Thread(monRunnable)), mais je n'ai pas acces à mon runnable (ce qui m'embete fortement :o)
 
.. question donc: la methode isAlive est-elle reelement utile?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 17-06-2003 à 19:12:45    

personnelement je ne me suis jamais servi de isAlive. habituellement, je fais plutot que ce soit mon Thread (enfin Runnable) qui prévient quand son execution se termine (par un mécanisme d'évenements/listeners)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 17-06-2003 à 19:12:45   

Reply

Marsh Posté le 17-06-2003 à 19:18:18    

benou a écrit :

personnelement je ne me suis jamais servi de isAlive. habituellement, je fais plutot que ce soit mon Thread (enfin Runnable) qui prévient quand son execution se termine (par un mécanisme d'évenements/listeners)

ok :jap:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 19-06-2003 à 23:31:22    

tiens tu refais le translator de mon voisin de bureau? :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 19-06-2003 à 23:32:33    

oui, c'est fait
version1.1 released :sol:


Message édité par the real moins moins le 19-06-2003 à 23:32:44

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 19-06-2003 à 23:33:09    

the real moins moins a écrit :

oui, c'est fait
version1.1 released :sol:


 
excellent. Velocity pour finir?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 19-06-2003 à 23:33:54    

ouais
 


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed