Ben je vois pas pourquoi t'aurais besoin d'un truc particulier pour ca :
for(int try= 0; try <= maxTry && !openFile(myFile); try ++)
Evidemment, ca suppose que tes APIs soient bien fait.
Et c'est d'ailleur une préconisation de design classique dans les bibliothèques : toujours proposer à l'utilisateur un moyen de tester de faire quelque chose sans passer par des exceptions.
Exemple dans la lib C# :
Int32.Parse("azerty") => à utiliser quand j'ai pas envie de traiter l'erreur ou que je sais pas quoi faire, lèvera une exception
si je sais quoi faire :
if(!Int32.TryParse("azerty", out myInt))
//je traite le cas particulier qui n'est pas une exception puisque j'ai une règle de traitement pour ce cas.
[^] # Re: pas possible ?
Posté par TImaniac (site web personnel) . En réponse au journal Contrats et exceptions. Évalué à 2.
for(int try= 0; try <= maxTry && !openFile(myFile); try ++)
Evidemment, ca suppose que tes APIs soient bien fait.
Et c'est d'ailleur une préconisation de design classique dans les bibliothèques : toujours proposer à l'utilisateur un moyen de tester de faire quelque chose sans passer par des exceptions.
Exemple dans la lib C# :
Int32.Parse("azerty") => à utiliser quand j'ai pas envie de traiter l'erreur ou que je sais pas quoi faire, lèvera une exception
si je sais quoi faire :
if(!Int32.TryParse("azerty", out myInt))
//je traite le cas particulier qui n'est pas une exception puisque j'ai une règle de traitement pour ce cas.