Bonjour, je cherche un moyen de faire une sorte de try catch en cas de segmentation fault dans une fonction
j’ai regarder ici avec les jump mais hélas cela ne fonctionne pas, le segmentation fault arrete mon programme.
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 | #include <stdio.h> #include <setjmp.h> #define TRY do{ jmp_buf ex_buf__; if( !setjmp(ex_buf__) ){ #define CATCH } else { #define ETRY } }while(0) #define THROW longjmp(ex_buf__, 1) int main(int argc, char** argv) { TRY { printf("In Try Statement\n"); const char *s = NULL; printf( "%c\n", s[0] ); } CATCH { printf("Got Exception!\n"); } ETRY; printf("finish !!!\n"); return 0; } |
dans mon code, je voudrais que le programme continue et m’affiche finish !!!
es ce possible de le faire en C ?
+0
-0