Problema gestione eccezione

di il
2 risposte

Problema gestione eccezione

Salve ho un problema nel momento in cui voglio catturare un'eccezione, in particolare sto usando la libreria jsoup e voglio che nel momento in cui un url non è valido mi venga catturata l 'eccezione.
quel che avevo fatto è

try {
		doc=Jsoup.connect(url).get();
	} catch (ExceptionConnection e) {
		// TODO: handle exception
	new ExceptionConnection("ciao");
	}
quindi provo se la connect fallisce e nel caso dovrebbe entrare nel blocco catch. il problema è che non fa quel che deve
(ExceptionConnection l ho creata io ed estende HttpStatusException)

2 Risposte

  • Re: Problema gestione eccezione

    Enrico92 ha scritto:


    (ExceptionConnection l ho creata io ed estende HttpStatusException)
    Non ha senso quello che hai fatto ma ci devi "ragionare" per capirlo. Non puoi "inventarti" tu delle eccezioni che Jsoup ovviamente non conosce! Non è proibito chiaramente e tecnicamente estendere la HttpStatusException di Jsoup ma quando Jsoup fallisce su una richiesta HTTP lancia HttpStatusException, non una eccezione "tua" (seppur estensione di HttpStatusException) di cui non potrebbe sapere nulla.

    EDIT: e tra l'altro dovresti pure accorgerti che il tuo codice NON compila nemmeno. HttpStatusException è una eccezione "checked", quindi pure la tua estensione ExceptionConnection lo è. Ma nella riga doc=Jsoup.connect(url).get(); NULLA dichiara di lanciare la TUA eccezione. Quindi il tuo catch è un "Unreachable catch block" perché il compilatore può verificare a priori che nel tuo catch non ci entrerai mai, e questo per Java è un errore.
  • Re: Problema gestione eccezione

    Grazie molto esaustivo, sono riuscito a trovare l errore e correggerlo.
Devi accedere o registrarti per scrivere nel forum
2 risposte