Non vedo perchè ci debbano essere degli effetti collaterali.
Ognuno gestisce la propria applicazione come vuole (si spera sempre in modo coerente).
Per quanto riguarda le differenze, direi che dipende molto da cosa si sta progettando e da come si vuole gestire una situazione di errore (eccezione). Se sto sviluppando una applicazione a se stante, mi aspetto che ciascuna eccezione venga catturata e gestita dal codice in modo coerente. non mi preoccupo, quindi, né di rigenerazione né di propagazione (quet'ultima la posso vedere in termini di propagazione fra le varie classi della mia applicazione e fra i fari metodi di ciascuna classe).
Discorso diverso lo faccio se sto progettando un modulo generale. In questa situazione mi devo porre delle domande:
1) Voglio gestirle internamente le eccezioni?
2) Voglio che sia l'utente (del modulo) a dover gestire l'eccezione?
3) Voglio un mix delle due proposte precedenti?
Se decido di gestire tutte le eccezioni, il problema è risolto: sorge un'eccezione di qualsiasi tipo, la gestisco in loco nel modulo e non faccio sapere niente all'utente finale (al massimo un messaggio su STDOUT)
Se decido di non gestire affatto l'eccezione, ecco che applico una semplice propagazione: sorge un'eccezione, io me ne infischio perchè ho dichiarato nell'intestazione dei metodi "throws ...". Sarà l'utente che utilizza i try/catch.
Se decido, invece, di utilizzare un mix fra le due, ecco che mi posso servire della rigenerazione e della propagazione contemporaneamente: posso, quindi, pensare di gestire una eccezione X internamente (non faccio sapere nulla all'utente), propagare senza occuparmi di niente una eccezione Y (sarà l'utente a gestirsela) oppure decidere di catturare una eccezione Z, di aggiungere qualche altra informazione di controllo e quindi (o eventualmente) generare una nuova eccezione, personalizzata.
Con queste premesse (che possono essere anche confutate, specialmente se non ho inquadrato bene il tuo problema), direi che non ha tanto senso parlare di "fase di debug", "fase di sviluppo", ecc quando si parla di eccezioni, ma solo di "tipo di applicazione" che si sta sviluppando.
Ciao.![]()



Rispondi quotando