Forum Clubic

[JAVA] Stopper un if(condition){} - Stopper le test de la condition

Bonjour,

Mon code ressemble à ça :

void fonction(){
    ligne de code 1;
    if(condition){
        ligne de code 2;
    }
    ligne de code 3;
}

J’aimerais que si le test de la condition dure trop longtemps, pouvoir passer à la ligne de code 3.
Y a-t-il une autre façon que d’utiliser la classe Timer ?
Quelle serait la façon la plus simple pour aboutir à ce résultat ?

Merci

Le test d’une condition est instantané, même en Java.

a mon avis il doit demander qqch qui peut mettre du temps a venir, du style lire un fichier sur un cd et renvoyer sa taille :neutre:, ou une requete sur un réseau. il nous faudrait plus d’information.

En gros ce que tu demande c’est une condition qui jette une exception au bout d’un certain temps?

Si tu lis un fichier, et que c’est en mode bloquant, tu dois pouvoir y coller un timeout.

Ca devrait même être possible par le biais d’un thread.

Salut,

en gros


try {
  if (condition()){  // throws InterruptedException
      traiteConditionOk();
  } else {
      traiteConditionKo();
  }
} catch (InterruptedException e){
   traiteConditionKo();
}

L’idée est que ta condition est évaluée dans une méthode pouvant être intérrompue (par exemple en cas d’I/O trop longue, ou via un Thread.interrupt() en timer)