Gestion des exceptions (meta-programmation)
Bonjour
Je me demande si il existe des instructions pour déclencher une erreur ou un avertissement du compilateur.
Exemple:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
template<int T> class MaClasse
{
public:
MaClasse(){}
~MaClasse(){}
};
template<> class MaClasse<5>
{
public:
MaClasse(){/*
instruction déclenchant une erreur ou un
avertissement à la compilation
*/}
~MaClasse(){}
}; |
Dans l'exemple ci-dessus toute les valeurs entières peuvent être passé en paramètre template sauf la valeur 5 qui déclenche une erreur ou un avertissement.
Mon but est de gérer les exceptions comme avec try/throw/catch, mais à la compilation et non à l'exécution.
Il y a l'instruction #error qui déclenche une erreur à la compilation mais comme celle-ci est une commande du préprocesseur je ne crois pas qu'elle puisse m'aider.
Ces instructions existent-elles et sinon, comment fait-on pour gérer les "meta-exceptions"?
Merci de prendre le temps de me répondre.