[thread] Exception non catchée
bonjour ! voila je suis tombé sur le problème quand j'ai commencé a m'interressé au threads. J'ai donc bien sûr voulut les gérer ( du genre : start(), resume(), suspend()...) et étant donné que la méthode stop() est dépréciée alors je l'ai réécrite :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
public void run()
{
int a = 0,b = 0,choix = 0;
boolean finish = false, fin = false;
while( !fin )
{
try
{
while (finish == false)
{
// mon traitement
}
synchronized(this)
{
Thread.yield();
// lecture du boolean
fin = this.stopThread;
}
} catch( InterruptedException e ) // Je pense que l'erreur se situe ici
{
System.out.println("c bon");
}
}
}
// Surcharge de la méthose stop()
public void stopLeThread()
{
this.stopThread = true;
}
// On met le thread en pause
public void pause()
{
synchronized(this)
{
try
{
synchronized(this) { this.wait(); }
}
catch(InterruptedException ex) { }
}
}
//on reprend le thread
public void release()
{
synchronized(this)
{
this.notify();
}
} |
avec comme entête pour cette classe :
Code:
1 2
|
public class PacFantome extends Thread |
et le compilateur me sort une erreur :
Code:
1 2
|
L'exception InterruptedException n'est jamais relevée dans le try que vous avez mit (traduction) |
alors je ne sait pas pourquoi il ne voir pas mon catch...pourtant je ne vois pas de problème à première vue
Voila si quelqu'un aurait une idée, j'apprécierait qu'il me la dise
salut :wink: