Possible en double:
throwing exceptions of objects on the stack, mem leak with new?C++ -La bonne façon de lancer et attraper des exceptions
-vous lancer des exceptions en C++ avec ou sans l'opérateur new
? Parce que les deux jetteraient une exception.
void KillUnicorns()
{
throw IllegalActionException();
}
int main()
{
try
{
KillUnicorns();
}
catch (IllegalActionException e)
{
// Handle exception
}
return 0;
}
Bien que l'exemple suivant fuirait la mémoire?
void KillUnicorns()
{
throw new IllegalActionException();
}
int main()
{
try
{
KillUnicorns();
}
catch (IllegalActionException* e)
{
// Handle exception
}
return 0;
}
Quelle est la bonne façon de lancer des exceptions en C++?
Une petite question asside. Est-ce que 'const IllegalActionException & e' obtient le même résultat que' IllegalActionException const & e'? Comme vu dans le commentaire de @ Martin. – Kevin
@ Kevin: préfixer ou postfaire le cosnt à un type est une question de style (vous pouvez voir les deux autour). Le résultat est identique. –