Ciao a tutti,
avrei bisogno del vostro aiuto per chiarirmi un dubbio sull'uso dell'operatore instanceof utilizzato all'interno dei blocchi catch.
metodoA() lancia metodoB().
Quest'ultimo a seconda dei parametri passati e di altri controlli potrebbe generare una eccezione (EccezioneUno, EccezioneDue, EccezioneTre...).
In metodoB() per motivi di generalizzazione posso scrivere solo throws Exception.
Il dubbio mio è:
una volta che si è verificata una eccezione, sarà il metodoA a doversi occupare della sua gestione, ma dal momento che non so realmente di che tipo di eccezione si tratta come posso scrivere i vari blocchi catch?
Dovrei usare l'operatore instanceof, ma come?
Spero di essermi spiegato bene.codice:private void metodoA() { try { metodoB(/* serie di parametri */); } catch (/* Qui risiede il dubbio */) { // qui dovrei gestire EccezioneUno } catch (/* Qui risiede il dubbio */) { // qui dovrei gestire EccezioneDue } catch (/* Qui risiede il dubbio */) { // qui dovrei gestire EccezioneTre } } private void metodoB(/* parametri */) throws Excpetion { if (...) throw new EccezioneUno(); if (...) throw new EccezioneDue(); if (...) throw new EccezioneTre(); . . . }
Grazie per il vostro aiuto!

Rispondi quotando
