VS n'implémente pas les exceptions ??? - C++ - Programmation
Marsh Posté le 14-03-2004 à 16:32:52
Sisi ça fonctionne
t'as fait quoi exactement ? bout de code ?
Marsh Posté le 14-03-2004 à 16:47:36
.NET ou .NET 2003 ?
(en gros compilo 7 ou 7.1 ?)
Marsh Posté le 14-03-2004 à 17:26:49
On en a discuté ici :
http://forum.hardware.fr/forum2.ph [...] =0&print=0
VS gère les exceptions.
Ce qui n'est pas implémenté c'est la spécification d'exceptions :
Code :
|
Le parser reconnait la syntaxe, mais ce code est sans conséquence, c'est comme s'il y avait :
Code :
|
Dans le premier cas, si une exception d'un type autre que MonException est déclenchée, unexpected est censée être appelée (ou ce qui a été indiqué via set_unexpected). VS n'implémente pas cette fonctionnalité, d'où le warning.
Marsh Posté le 14-03-2004 à 20:48:42
si si, c'est juste qui si tu throw autre chose que ce qui est spécifié, l'exception unexpected n'est pas levée.... le set_unexpected() marche, mais ça fait rien...
et je viens d'essayer sur le 2003 avec le compilo 7.1, ça fait pareil...
Marsh Posté le 14-03-2004 à 16:19:09
j'ai mis un throw dans mon code et VS .NET me sort un warning C4290 :
[Compiler Warning (level 3) C4290]
Spécification d'exception C++ ignorée sauf pour indiquer qu'une fonction n'est pas __declspec(nothrow)
Une fonction est déclarée avec une spécification d'exception, ce que Visual C++ accepte mais n'implémente pas. Le code avec spécification d'exception ignoré lors de la compilation peut nécessiter une nouvelle compilation et édition de liens pour pouvoir être réutilisé dans des versions ultérieures prenant en charge les spécifications d'exception.
Vous pouvez éviter cet avertissement par le pragma warning :
#pragma warning( disable : 4290 )
quoi il fait pas les exceptions ? c pas possible, y'a un truc que j'ai du mal comprendre là ...