Bonjour,
Je voudrais mettre en place un system d'exception (sous windows && gcc) me permettant d'intercepter ce type d'erreur. Avec catch(...) evidement ca ne le fais pas.
j'ai essayer "__except" mais visiblement c'est du visual.
merci de votre aide
Bonjour,
Je voudrais mettre en place un system d'exception (sous windows && gcc) me permettant d'intercepter ce type d'erreur. Avec catch(...) evidement ca ne le fais pas.
j'ai essayer "__except" mais visiblement c'est du visual.
merci de votre aide
- Sous nux: EDIT: Apparemment, ça envoie le signal SIGFPE (même pour des entiers?)
- Sous Windows, avec Visual : Structured Exception Handling (SEH) (__try/__except)
- Sous Windows, avec MinGW : Je ne sais pas si MinGW supporte __try/__except.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
On t'avait déjà dit que c'est pas possible en C++ standard (avec try / catch). Par contre on peut le faire en interceptant le signal SIGFPE qui est émis à chaque exception arithmétique (qui n'est pas forcément une division par 0).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <iostream> #include <csignal> #include <cstdlib> using namespace std; void handle_signal(int param) { cout << "Une erreur arithmetique s'est produite." << endl; exit(EXIT_FAILURE); } int main () { signal (SIGFPE, handle_signal); cout << 5 / 0 << endl; return 0; }
Et pour plus d'information: wikipedia
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.
Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.
Merci à tous, c'est exactement ce que je cherchais.
Partager