View Single Post
Old 29-07-2005, 21:56   #12
end.is.forever
Senior Member
 
Iscritto dal: Jul 2004
Messaggi: 1578
Quote:
Originariamente inviato da ri
se il metodo di finalizzazione richiamato dal distruttore solleva eccezioni sei comunque nella merda
No perchè il metodo di inizializzazione lo chiami dopo il costruttore e il metodo di finalizzazione prima del distruttore.

Ti faccio un esempio, ho una classe che gestisce la connessione con un certo database.
Uno potrebbe pensare di aprire la connessione (con eventuali eccezioni) nel costruttore, e chiuderla nel distruttore.

Molto meglio invece inserire nel costruttore solo l'assegnamento dei campi a seconda dei parametri passati; poi, esplicitamente alla chiamata del metodo di inizializzazione, aprire la connessione. Se si scatena lì l'eccezione è tutto un' altro paio di maniche rispetto al costruttore.
Stessa cosa per distruttore.
end.is.forever è offline   Rispondi citando il messaggio o parte di esso