[java] creer un thread qui lance des exceptions

creer un thread qui lance des exceptions [java] - Java - Programmation

Marsh Posté le 20-01-2005 à 10:27:00    

Bonjour,
 
  je suis en train de programmer une appli multi threadée , et j'aurai besoin de savoir quand un de mes thread se termine mal .
 
   Le problème est que le prototype de la fonction run est public void run()  
 
   est i lpossible de gruger pour que mes thread lancent des Exception en cas de probleme ?  
 
Florent  
 [:youyou2224]

Reply

Marsh Posté le 20-01-2005 à 10:27:00   

Reply

Marsh Posté le 20-01-2005 à 11:53:33    

Pourquoi ne pas simplement positionner un flag qui indique la terminaison du thread ?
 

flo850 a écrit :

est i lpossible de gruger pour que mes thread lancent des Exception en cas de probleme ?  


Essaye pour voir...


Message édité par sircam le 20-01-2005 à 11:53:42

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 20-01-2005 à 13:04:38    

j'ai essayé, mais a priori il ne recupere pas les flag apres que le processus ce soit terminé sur une erreur :/
 
j'ai essaye qq chose du genre :  
 

Code :
  1. public boolean isSucces(){
  2. return succes;
  3. }
  4. public void run(){
  5. try{
  6. mon process
  7. }
  8. catch(Exception e){
  9. succes = false;
  10. }


Reply

Marsh Posté le 20-01-2005 à 14:15:59    

Reply

Marsh Posté le 20-01-2005 à 15:22:23    

merci  
je n'avais aps vu cette fonctionnalité ,je me plonge dans la doc et je vous dis si ca solutionne le problème
 
arf ,  uniquement en java 1.5 , et le parc de machine sur laquelle va etre deployé l'appli est equipé en java 1.4.2 :/


Message édité par flo850 le 20-01-2005 à 15:56:37
Reply

Marsh Posté le 20-01-2005 à 17:27:51    

Tu peux recréer le même méchanisme en sous-classant Thread et en codant le méchanisme du handler.
 
ou faire un truc simplifié qui répond juste à ton besoin, genre :  

Code :
  1. public abstract class ExceptionAwareThread extends Thread {
  2. private ExceptionAwareRunnable runnable;
  3. public ExceptionAwareThread(ExceptionAwareRunnable runnable) {
  4.  this.runnable = runnable;
  5. }
  6. public void run() {
  7.  try {
  8.   this.runnable.run();
  9.  } catch (Throwable t) {
  10.   this.uncaughtException(t);
  11.  }
  12. }
  13. public abstract void uncaughtException(Throwable t);
  14. }


Code :
  1. public interface ExceptionAwareRunnable {
  2. public void run() throws Throwable;
  3. }


Message édité par benou le 20-01-2005 à 17:28:08

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

Marsh Posté le 20-01-2005 à 17:32:15    

:jap:
 
c'est en voyant ca que je me dis que j'ai bcp a apprendre

Reply

Marsh Posté le 20-01-2005 à 17:35:22    

je me suis planté, c'est de ça dont je voulais parler :
http://java.sun.com/j2se/1.4.2/doc [...] Throwable)

Reply

Marsh Posté le 20-01-2005 à 17:39:20    

et créer un group par thread ?


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

Marsh Posté le 20-01-2005 à 17:44:54    

benou > non, vu que tu reçois le thread défaillant en paramètre.
 
d'autre part, par défaut un thread appartient au groupe de son créateur ...

Reply

Marsh Posté le 20-01-2005 à 17:44:54   

Reply

Marsh Posté le 20-01-2005 à 17:46:26    

nraynaud a écrit :

benou > non, vu que tu reçois le thread défaillant en paramètre.


mal lu  :sweat:  
 

nraynaud a écrit :


d'autre part, par défaut un thread appartient au groupe de son créateur ...


oki, je savais pas  :jap:


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

Marsh Posté le 20-01-2005 à 17:48:37    

en même temps, ca oblige à utiliser des RuntimeException ... ou à encapsuler l'exception dans une Runtime le temps du passage du run(), alors qu'avec mon super threads JCV, nan [:petrus75]


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

Marsh Posté le 20-01-2005 à 17:50:03    

benou a écrit :


oki, je savais pas  :jap:


moi non plus, mais c'est une propriété TRES intéressante quand c'est pas toi qui crées directement le thread :
http://www.javaspecialists.co.za/archive/Issue081.html

Reply

Marsh Posté le 20-01-2005 à 17:50:41    

:jap:²


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

Marsh Posté le 20-01-2005 à 17:52:38    

(enfin tout ça c'est de la bidouille tant qu'on est pas en java 5.0)

Reply

Marsh Posté le 20-01-2005 à 17:55:01    

(je suis pas prêt d'y passer au boulot /o\)


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

Marsh Posté le 20-01-2005 à 17:57:30    

vous tentez pas la compatibilité ?

Reply

Marsh Posté le 20-01-2005 à 18:10:59    

malheureusement non ...
ici c'est plutot "ca tourne en 1.3, pkoi changer ?" :/
la 1.4 commence à être un peu utilisée ... :/


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

Marsh Posté le 20-01-2005 à 21:36:07    

nraynaud :  
wow pour ton lien ;)
 
par contre : meme si avant j'etais plutot : "cool, faut essayer la nouvelle jvm, de toute facon ca peut que mieux marcher", depuis la 1.5 je me pose des questions ....

Reply

Marsh Posté le 20-01-2005 à 23:03:01    

beemer a écrit :

meme si avant j'etais plutot : "cool, faut essayer la nouvelle jvm, de toute facon ca peut que mieux marcher", depuis la 1.5 je me pose des questions ....


T'inquiète, ça va passer.  [:crosscrusher]  


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 21-01-2005 à 12:29:29    

beemer a écrit :

nraynaud :  
wow pour ton lien ;)


élite mondiale du java [:crosscrusher]  

Reply

Marsh Posté le 21-01-2005 à 13:12:03    

nraynaud a écrit :

élite mondiale du java [:crosscrusher]


euh, toi ou le lien? :D

Reply

Marsh Posté le 21-01-2005 à 13:16:24    

moi :o

Citation :

We have probably the most elite Java newsletter in the world, so if you are a member, you are a part of that elite!


http://www.javaspecialists.co.za/archive/Issue089.html
[:crosscrusher]

Reply

Marsh Posté le 21-01-2005 à 13:23:28    

hihihihi

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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