Citation:
Envoyé par JolyLoic
S'il est bien programmé, cette tentative de construction n'aura pas alloué de resosurces sans les libérer.
Si j'ai bien compris, si on a une construction du type:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| MaClasse::MaClasse(int iValue)
{
m_aiMonTableau = new int(iValue);
try
{
m_pMonObjet->Connect(); // connection à une bdd par exemple
}
catch (CMyConnectionException* pEx)
{
pEx->ReportError();
}
} |
On risque d'allouer le tableau m_aiMonTableau alors que la classe n'est pas construite? (dans le cas où le connect() renvoie une exception)
Il faudrait alors rajouter un delete[] m_aiMonTableau; dans le catch. C'est ça?