Bonjour,
je me pose pas mal de question vis à vis des blocs try{} catch() {} du c++, une fonctionnalité que j'utilises énormément mais dont j'ai très peu de connaissances vis à vis du fonctionnement interne, voici mes questions :
- comment les try/catch, ainsi que les instructions throw sont-elles gérées au niveau assembleur ?
- quel code asm génère un compilo c++ comme gcc pour gérer cette fonctionnalité ?
- quelle est la différence en bas niveau entre une exception lancée par un throw du style :
et une exception intrinsèque du CPU comme une division par zero ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if (dadou == 0) throw new Exception("Dadou is NULL !");
- est-ce qu'englober un bloc de code dans un try/catch va allourdir l'exécution ?
- existe-t-il des failles de sécurité concernant les blocs try/catch qui requièrent une certaine prudence lors du codage d'une appli ?
Si quelqu'un pouvait me rediriger vers un article simple, ou me filer une explication çà m'intéresse vraiment, j'ai la facheuse habitude de balancer des try/catch à la volée sans vraiment réfléchir.
Partager