try catch foireux - C - Programmation
Marsh Posté le 13-12-2005 à 20:16:00
arrr ! ben comment on fait pour faire un try catch en c? J'ai mon fichier d'état du generateur de nombres qui sera pas forcement présent, et sans lui, ca donne toujours la mem chose forcement...
Marsh Posté le 13-12-2005 à 20:19:48
Du caca dans l tuyau a écrit : arrr ! ben comment on fait pour faire un try catch en c? J'ai mon fichier d'état du generateur de nombres qui sera pas forcement présent, et sans lui, ca donne toujours la mem chose forcement... |
setjmp()/longjmp() have fun
Marsh Posté le 13-12-2005 à 20:27:58
non mais tu peux te contenter de tester la valeur de retour de fopen, si c'est NULL, ca a foire, il te reste a agir en consequence et voila (la cause de l'erreur est contenu dans errno)
Marsh Posté le 13-12-2005 à 20:31:27
hé ben voila! ca marche au poil . C'était tout simple. Je pensait que le fait d'invoquer fopen faisait deja une erreur.. bon, merci :-))
Marsh Posté le 13-12-2005 à 19:27:18
Pourquoi ca marche po?
FILE * randomEtat;
try {
randomEtat = fopen("etat", "rb" );
gsl_rng_fread (randomEtat,r);
fclose(randomEtat);
}catch (...)
{
fclose(randomEtat);
}
windows il dit ca quand il n'y a pas le fichier "etat" dispo: "code.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru."