ciao e grazie per il codice, mi ha fatto capire un po' di cose in piu'...

con delle semplici modifiche al codice adesso le eccezioni nei metodi vengono chiamate correttamente, nel senso che il distruttore viene eseguito come dovrebbe al termine delle quali

credo di aver capito, invece, perche' il distruttore non è in grado di chiamare l'eccezione: è un semplice, quanto ostico, problema di scope dell'oggetto

l'oggetto infatti, locale al blocco try, viene distrutto all'uscita da questo e quindi "fuori" dalla condizione try-catch che dovrebbe catturarne l'eccezione

Potrei nidificare il blocco try catch in un altro, ma non credo che ne valga la pena in termini di legibbilità ed efficenza del codice, piuttosto "sacrifico" l'eccezione nel distruttore (in fondo si tratta di un evento/errore praticamente inverificabile)

a meno che non ci sia un'altra soluzione...