Quote Originariamente inviata da LeleFT Visualizza il messaggio
Non necessariamente. Anche qui, sta al programmatore decidere se nel costruttore di un oggetto il contesto è sufficientemente chiaro da poter gestire eventuali eccezioni oppure no. Anche i costruttori, come i metodi, possono sollevare eccezioni e, nel caso di eccezioni checked, le dichiarano con la clausola throws.
in realtà con il costruttore bisognerebbe fare attenzione e vedere se non è possibile fare in altro modo.
Intanto l'oggetto non è correttamente inizializzato, che fai continui? vai in eccezione? L'oggetto è pronto per essere finalizzato, ma quando interviene il gc?

Dal punto di vista della sicurezza, queste possono essere anche back door (è sicuramente pronto per il gc, implementi finalize e fai quello che ti pare).

In generale quindi per le eccezioni dal costruttore chiediti se è davvero necessario averle (e in caso prendi opportuni provvedimenti per garantire integrità e sicurezza)