Je ne comprend pas trop comment en attrapant une exception je peux retenter
d'executer le code qui a causé l'exception quelqu un pourrait il m eclairer
a ce sujet merci
en gros j ai un
try {
moncode
} catch (MonException ex)
{
et là je voudrais attendre un peu et retenter d executer le moncode
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JKB
Le Wed, 3 Oct 2012 13:37:37 +0200, vec écrivait :
bonjour,
Je ne comprend pas trop comment en attrapant une exception je peux retenter d'executer le code qui a causé l'exception quelqu un pourrait il m eclairer a ce sujet merci
en gros j ai un
try { moncode } catch (MonException ex) { et là je voudrais attendre un peu et retenter d executer le moncode }
Je ne sais pas si j'ai tout compris, mais je ferais :
Le Wed, 3 Oct 2012 13:37:37 +0200,
vec <vecna_nospam@free.fr> écrivait :
bonjour,
Je ne comprend pas trop comment en attrapant une exception je peux retenter
d'executer le code qui a causé l'exception quelqu un pourrait il m eclairer
a ce sujet merci
en gros j ai un
try {
moncode
} catch (MonException ex)
{
et là je voudrais attendre un peu et retenter d executer le moncode
}
Je ne sais pas si j'ai tout compris, mais je ferais :
Je ne comprend pas trop comment en attrapant une exception je peux retenter d'executer le code qui a causé l'exception quelqu un pourrait il m eclairer a ce sujet merci
en gros j ai un
try { moncode } catch (MonException ex) { et là je voudrais attendre un peu et retenter d executer le moncode }
Je ne sais pas si j'ai tout compris, mais je ferais :
Je ne comprend pas trop comment en attrapant une exception je peux retenter d'executer le code qui a causé l'exception quelqu un pourrait il m eclairer a ce sujet merci
en gros j ai un
try { moncode } catch (MonException ex) { et là je voudrais attendre un peu et retenter d executer le moncode }
Je ne sais pas si j'ai tout compris, mais je ferais :
"JKB" <jkb@koenigsberg.invalid> a écrit dans le message de news:
slrnk6o98t.f2o.jkb@rayleigh.systella.fr...
Le Wed, 3 Oct 2012 13:37:37 +0200,
vec <vecna_nospam@free.fr> écrivait :
bonjour,
Je ne comprend pas trop comment en attrapant une exception je peux
retenter
d'executer le code qui a causé l'exception quelqu un pourrait il m
eclairer
a ce sujet merci
en gros j ai un
try {
moncode
} catch (MonException ex)
{
et là je voudrais attendre un peu et retenter d executer le moncode
}
Je ne sais pas si j'ai tout compris, mais je ferais :
Je ne comprend pas trop comment en attrapant une exception je peux retenter d'executer le code qui a causé l'exception quelqu un pourrait il m eclairer a ce sujet merci
en gros j ai un
try { moncode } catch (MonException ex) { et là je voudrais attendre un peu et retenter d executer le moncode }
Je ne sais pas si j'ai tout compris, mais je ferais :
Le Wed, 3 Oct 2012 11:44:34 +0000 (UTC) JKB a écrit :
Le Wed, 3 Oct 2012 13:37:37 +0200, vec écrivait : > bonjour, > > Je ne comprend pas trop comment en attrapant une exception je peux > retenter d'executer le code qui a causé l'exception quelqu un > pourrait il m eclairer a ce sujet merci > > en gros j ai un > > try { > moncode > } catch (MonException ex) > { > et là je voudrais attendre un peu et retenter d executer le moncode > }
Je ne sais pas si j'ai tout compris, mais je ferais :
Ahlala les développeurs C... ;) . On pourrait faire avec un booléen traitementEffectue = true.
Pour attendre un peu : Thread.sleep (lève une exception si on a demandé une interruption du fil d'exécution, qui peut être ignorée si ce mécanisme n'est pas utilisé ou alors mener à un abandon du traitement (plus sûr)).
Le Wed, 3 Oct 2012 11:44:34 +0000 (UTC)
JKB <jkb@koenigsberg.invalid> a écrit :
Le Wed, 3 Oct 2012 13:37:37 +0200,
vec <vecna_nospam@free.fr> écrivait :
> bonjour,
>
> Je ne comprend pas trop comment en attrapant une exception je peux
> retenter d'executer le code qui a causé l'exception quelqu un
> pourrait il m eclairer a ce sujet merci
>
> en gros j ai un
>
> try {
> moncode
> } catch (MonException ex)
> {
> et là je voudrais attendre un peu et retenter d executer le moncode
> }
Je ne sais pas si j'ai tout compris, mais je ferais :
Ahlala les développeurs C... ;) .
On pourrait faire avec un booléen traitementEffectue = true.
Pour attendre un peu : Thread.sleep (lève une exception si on a demandé
une interruption du fil d'exécution, qui peut être ignorée si ce
mécanisme n'est pas utilisé ou alors mener à un abandon du traitement
(plus sûr)).
Le Wed, 3 Oct 2012 11:44:34 +0000 (UTC) JKB a écrit :
Le Wed, 3 Oct 2012 13:37:37 +0200, vec écrivait : > bonjour, > > Je ne comprend pas trop comment en attrapant une exception je peux > retenter d'executer le code qui a causé l'exception quelqu un > pourrait il m eclairer a ce sujet merci > > en gros j ai un > > try { > moncode > } catch (MonException ex) > { > et là je voudrais attendre un peu et retenter d executer le moncode > }
Je ne sais pas si j'ai tout compris, mais je ferais :
Ahlala les développeurs C... ;) . On pourrait faire avec un booléen traitementEffectue = true.
Pour attendre un peu : Thread.sleep (lève une exception si on a demandé une interruption du fil d'exécution, qui peut être ignorée si ce mécanisme n'est pas utilisé ou alors mener à un abandon du traitement (plus sûr)).
JKB
Le Wed, 3 Oct 2012 15:54:42 +0200, Yliur écrivait :
Le Wed, 3 Oct 2012 11:44:34 +0000 (UTC) JKB a écrit :
Le Wed, 3 Oct 2012 13:37:37 +0200, vec écrivait : > bonjour, > > Je ne comprend pas trop comment en attrapant une exception je peux > retenter d'executer le code qui a causé l'exception quelqu un > pourrait il m eclairer a ce sujet merci > > en gros j ai un > > try { > moncode > } catch (MonException ex) > { > et là je voudrais attendre un peu et retenter d executer le moncode > }
Je ne sais pas si j'ai tout compris, mais je ferais :
Je ne voulais pas utiliser un booléen. Vue la question, je pense que l'OP n'est pas un spécialiste.
On pourrait faire avec un booléen traitementEffectue = true.
Pour attendre un peu : Thread.sleep (lève une exception si on a demandé une interruption du fil d'exécution, qui peut être ignorée si ce mécanisme n'est pas utilisé ou alors mener à un abandon du traitement (plus sûr)).
Je ne vais tout de même pas mâcher le TP, non ? ;-)
Le Wed, 3 Oct 2012 15:54:42 +0200,
Yliur <yliur@free.fr> écrivait :
Le Wed, 3 Oct 2012 11:44:34 +0000 (UTC)
JKB <jkb@koenigsberg.invalid> a écrit :
Le Wed, 3 Oct 2012 13:37:37 +0200,
vec <vecna_nospam@free.fr> écrivait :
> bonjour,
>
> Je ne comprend pas trop comment en attrapant une exception je peux
> retenter d'executer le code qui a causé l'exception quelqu un
> pourrait il m eclairer a ce sujet merci
>
> en gros j ai un
>
> try {
> moncode
> } catch (MonException ex)
> {
> et là je voudrais attendre un peu et retenter d executer le moncode
> }
Je ne sais pas si j'ai tout compris, mais je ferais :
Je ne voulais pas utiliser un booléen. Vue la question, je pense que
l'OP n'est pas un spécialiste.
On pourrait faire avec un booléen traitementEffectue = true.
Pour attendre un peu : Thread.sleep (lève une exception si on a demandé
une interruption du fil d'exécution, qui peut être ignorée si ce
mécanisme n'est pas utilisé ou alors mener à un abandon du traitement
(plus sûr)).
Je ne vais tout de même pas mâcher le TP, non ? ;-)
JKB
--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Le Wed, 3 Oct 2012 15:54:42 +0200, Yliur écrivait :
Le Wed, 3 Oct 2012 11:44:34 +0000 (UTC) JKB a écrit :
Le Wed, 3 Oct 2012 13:37:37 +0200, vec écrivait : > bonjour, > > Je ne comprend pas trop comment en attrapant une exception je peux > retenter d'executer le code qui a causé l'exception quelqu un > pourrait il m eclairer a ce sujet merci > > en gros j ai un > > try { > moncode > } catch (MonException ex) > { > et là je voudrais attendre un peu et retenter d executer le moncode > }
Je ne sais pas si j'ai tout compris, mais je ferais :
Je ne voulais pas utiliser un booléen. Vue la question, je pense que l'OP n'est pas un spécialiste.
On pourrait faire avec un booléen traitementEffectue = true.
Pour attendre un peu : Thread.sleep (lève une exception si on a demandé une interruption du fil d'exécution, qui peut être ignorée si ce mécanisme n'est pas utilisé ou alors mener à un abandon du traitement (plus sûr)).
Je ne vais tout de même pas mâcher le TP, non ? ;-)
Je ne comprend pas trop comment en attrapant une exception je peux retenter d'executer le code qui a causé l'exception quelqu un pourrait il m eclairer a ce sujet merci
en gros j ai un
try { moncode } catch (MonException ex) { et là je voudrais attendre un peu et retenter d executer le moncode }
[mode: fun avec java]
Question: Faut il trapper MonException lors du 2eme re-jeu?
Si oui je vois une solution marrante, bien objet, et simple à base de java.lang.Runnable
Runnable moncode = new Runnable() {public void run() { int i=1; ...blabla le code quoi... }};
try { moncode.run(); } catch(...) { ...attente qui va bien (tout dépend de l'API)... moncode.run(); }
Quelque part le Runnable représente ce qui se rapproche le plus d'une closure en java. Avec lui on peut carrément réifier des bouts de code et par exemple "factoriser" le schéma de la boucle while proposé par ailleurs et légèrement étendu ci-après pour boucler jusqu'à un nombre maximal de fois:
public class Retry implements Runnable { protected int max; protected Runnable run;
public void run() { for(int i=max; --i>=0;) { try { run.run(); return; // tout est ok: sortie. } catch(MonException ex) { // on retrourne la dernière exception // si toutes les tentatives ont échouées if(i==0) throw ex; ... code spécifique de pause ... } } } }
Si tu as plusieurs bouts de codes pour lequel tu veux appliquer le fonctionnement du type retry, plutôt que de copier/coller la structure de code à base de for/while, tu peux faire:
new Retry(10, new Runnable() {public void run() { ... code 1 ... }}).run();
... ...
new Retry(10, new Runnable() {public void run() { ... code 2 ... }}).run();
L'avantage est que si tu dois changer ta routine d'attente, au lieu de la changer partout dans le code, tu ne la changes que dans la classe Retry.
Après on peut se marrer avec le Retry, car puis qu'il lui même un runnable on peut l'appliquer à lui même. Quizz que fait:
new Retry(2, new Retry(3, new Runnable() {...})).run();
[/mode: fun]
sam.
Le 03/10/2012 13:37, vec a écrit :
bonjour,
Je ne comprend pas trop comment en attrapant une exception je peux retenter
d'executer le code qui a causé l'exception quelqu un pourrait il m eclairer
a ce sujet merci
en gros j ai un
try {
moncode
} catch (MonException ex)
{
et là je voudrais attendre un peu et retenter d executer le moncode
}
[mode: fun avec java]
Question: Faut il trapper MonException lors du 2eme re-jeu?
Si oui je vois une solution marrante, bien objet, et simple à base de
java.lang.Runnable
Runnable moncode = new Runnable() {public void run() {
int i=1;
...blabla le code quoi...
}};
try {
moncode.run();
} catch(...) {
...attente qui va bien (tout dépend de l'API)...
moncode.run();
}
Quelque part le Runnable représente ce qui se rapproche le plus d'une
closure en java. Avec lui on peut carrément réifier des bouts de code et
par exemple "factoriser" le schéma de la boucle while proposé par
ailleurs et légèrement étendu ci-après pour boucler jusqu'à un nombre
maximal de fois:
public class Retry implements Runnable {
protected int max;
protected Runnable run;
public void run() {
for(int i=max; --i>=0;) {
try {
run.run();
return; // tout est ok: sortie.
} catch(MonException ex) {
// on retrourne la dernière exception
// si toutes les tentatives ont échouées
if(i==0) throw ex;
... code spécifique de pause ...
}
}
}
}
Si tu as plusieurs bouts de codes pour lequel tu veux appliquer le
fonctionnement du type retry, plutôt que de copier/coller la structure
de code à base de for/while, tu peux faire:
new Retry(10, new Runnable() {public void run() {
... code 1 ...
}}).run();
...
...
new Retry(10, new Runnable() {public void run() {
... code 2 ...
}}).run();
L'avantage est que si tu dois changer ta routine d'attente, au lieu de
la changer partout dans le code, tu ne la changes que dans la classe Retry.
Après on peut se marrer avec le Retry, car puis qu'il lui même un
runnable on peut l'appliquer à lui même. Quizz que fait:
new Retry(2, new Retry(3, new Runnable() {...})).run();
Je ne comprend pas trop comment en attrapant une exception je peux retenter d'executer le code qui a causé l'exception quelqu un pourrait il m eclairer a ce sujet merci
en gros j ai un
try { moncode } catch (MonException ex) { et là je voudrais attendre un peu et retenter d executer le moncode }
[mode: fun avec java]
Question: Faut il trapper MonException lors du 2eme re-jeu?
Si oui je vois une solution marrante, bien objet, et simple à base de java.lang.Runnable
Runnable moncode = new Runnable() {public void run() { int i=1; ...blabla le code quoi... }};
try { moncode.run(); } catch(...) { ...attente qui va bien (tout dépend de l'API)... moncode.run(); }
Quelque part le Runnable représente ce qui se rapproche le plus d'une closure en java. Avec lui on peut carrément réifier des bouts de code et par exemple "factoriser" le schéma de la boucle while proposé par ailleurs et légèrement étendu ci-après pour boucler jusqu'à un nombre maximal de fois:
public class Retry implements Runnable { protected int max; protected Runnable run;
public void run() { for(int i=max; --i>=0;) { try { run.run(); return; // tout est ok: sortie. } catch(MonException ex) { // on retrourne la dernière exception // si toutes les tentatives ont échouées if(i==0) throw ex; ... code spécifique de pause ... } } } }
Si tu as plusieurs bouts de codes pour lequel tu veux appliquer le fonctionnement du type retry, plutôt que de copier/coller la structure de code à base de for/while, tu peux faire:
new Retry(10, new Runnable() {public void run() { ... code 1 ... }}).run();
... ...
new Retry(10, new Runnable() {public void run() { ... code 2 ... }}).run();
L'avantage est que si tu dois changer ta routine d'attente, au lieu de la changer partout dans le code, tu ne la changes que dans la classe Retry.
Après on peut se marrer avec le Retry, car puis qu'il lui même un runnable on peut l'appliquer à lui même. Quizz que fait:
new Retry(2, new Retry(3, new Runnable() {...})).run();