Brunni (./427) :
Pas terrible ton DateException&, ça veut dire que tu dois faire throw (*new DateException), donc qu'il faut la libérer en bas, ou alors que tu lances une exception que tu as déclaré statiquement... (là ok, mais tu ne peux pas mettre de texte)
N'oublie pas que si tu fais throw DateException(...) tu vas créer un objet sur la pile, et qu'il sera détruit à la fin de la fonction appelante (donc au passage dans le catch).
J'ai du mal à comprendre ce que tu veux dire, ici. Une exception, même attrapée par référence, n'est détruite qu'à la fin du passage dans le catch() (plus d'infos sur demande). Par contre, je serais du genre à l'attraper par référence const, personnellement.