Sì. Il catch funziona come una rete: dove lo inserisci cattura tutte le eccezioni sotto lanciate.La ignoro nelle due classi e applico il catch solo alla fine?
A meno che tu non lavori in ambiente multi thread, l'applicazione lancerà sempre e solo un'eccezione alla volta.se per caso anche ClasseA e/o ClasseB lanciassero eccezioni a loro volta queste andrebbero a sovrascriversi, da quanto ho capito e testato. Se queste premesse sono vere (potrei sbagliarmi nel modo più assoluto ) l'unica cosa fattibile sarebbe farle rimbalzare con un costrutto try-catch-throw fino al livello più alto, mantenendole sempre distinte. Oppure non ho capito nulla?
Questo signficia che se funzione lancia un'eccezione, l'interprete risalirà tutta la pila di esecuzione alla ricerca di qualcuno che possa gestirla. Se A o B non lo sanno fare, allora verranno semplicmente saltati.
Nè A ne B possono lanciare a loro volta una eccezione, a meno che non eseguano un catch ed un nuovo throw.
Ti sconsiglio questo approccio.in altre parole vorrei "catcharla" nel livello più alto possibile, quello in cui c'è anche l'html: come fare?
Normalmente la logica deve stare all'esterno dell'HTML. In teoria dovresti gestirla ad un livello superiore, il gestore deciderà poi quale elemento HTML richiamare a seconda che l'eccezione sia stata sollevata o meno.