Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-04-2014, 15:55   #1
biowep
Member
 
L'Avatar di biowep
 
Iscritto dal: Nov 2010
Messaggi: 211
[JAVA] Chiarimento eccezzioni

Salve, volevo sapere come mai non posso lanciare un'eccezione generica in Java
Codice:
throw new Exception("errore");
Il messaggio di errore in Eclipse č "Unhandled exception type Exception".
Devo sempre specificare nel prototipo del metodo "throws Exception" per non avere errori?
E se volessi generare tante sottoclassi diverse di errori, devo specificarle tutte?

Ultima modifica di biowep : 07-04-2014 alle 19:25.
biowep č offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2014, 20:06   #2
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Tutte le eccezioni che ereditano da Exception vanno gestite in qualche modo altrimenti il compilatore si rifiuta di generare il bytecode. Puoi usare try/catch per farlo tu lasciare il compito a chi chiama la funzione usando throws. Quelle che ereditano da RuntimeException, invece, non vengono controllate. Puoi lanciarle quando e dove ti pare senza doverle specificare ogni volta. In entrambi i casi le eccezioni sono oggetti quindi se vuoi creare un errore PincoPalloException devi prima creare una classe con quel nome che eredita da Exception/RuntimeException a seconda di come vuoi che venga gestita.
VICIUS č offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2014, 20:17   #3
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Cittą: Texas
Messaggi: 1722
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
Tutte le eccezioni che ereditano da Exception vanno gestite in qualche modo altrimenti il compilatore si rifiuta di generare il bytecode. Puoi usare try/catch per farlo tu lasciare il compito a chi chiama la funzione usando throws. Quelle che ereditano da RuntimeException, invece, non vengono controllate. Puoi lanciarle quando e dove ti pare senza doverle specificare ogni volta. In entrambi i casi le eccezioni sono oggetti quindi se vuoi creare un errore PincoPalloException devi prima creare una classe con quel nome che eredita da Exception/RuntimeException a seconda di come vuoi che venga gestita.
Beh, non esattamente, visto che RuntimeException deriva da Exception.
Per questo motivo sarebbe opportuno non gestire l'eccezione Exception ma usare sempre sottoclassi, in modo da evitare effetti indesiderati... fortunatamente i vari IDE (Netbeans, Eclipse, ...) forniscono un aiuto efficace
__________________
In God we trust; all others bring data
sottovento č offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB č On
Le Faccine sono On
Il codice [IMG] č On
Il codice HTML č Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v