échec dans un constructeur
Bonjour, ma question est assez simple : comment détecter si la création d'une instance de ma classe s'est bien passée ? Je prends l'exemple d'une classe qui a un pointeur pour lequel je dois teste si l'allocation mémoire s'est bien passée. Je suis allé sur la FAQ (http://cpp.developpez.com/faq/cpp/in...S_constructeur) mais ceci ne réponde que partiellement à mon problème. Je m'explique, supposons que j'ai le code suivant :
Code:
1 2 3 4 5 6
|
void maFonction()
{
Test test(3,5); // je reprends l'exemple du lien que j'ai donné ci-dessus
cout << test.getTableau1().size(); // j'invente le getter qui renvoie le tableau 1
} |
Imaginons que la création de la classe ait planté. Comment le savoir ? Ma méthode consiste à chaque fois à rajouter un
Code:
1 2
|
bool ok // true si la création s'est bien passée, false sinon |
pour savoir si tout se passe bien, et mon exemple deviendrait (j'ai modifié le prototype de ma fonction)
Code:
1 2 3 4 5 6 7 8 9 10 11
|
int maFonction()
{
Test test(3,5); // je reprends l'exemple du lien que j'ai donné ci-dessus
if(! test.getOK())
return 1; // erreur
cout << test.getTableau1().size(); // j'invente le getter qui renvoie le tableau 1
return 0; // aucune erreur
} |
C'est un peu lourd. Y a-t-il un moyen pour arrêter le programme si une erreur a été commise ?
Merci d'avance