|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
09-06-2005, 11.16.06 | #31 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
ti dovrei fare delle domande che poi potrei trovare nel compito: 1) dov'è che si verifica una eccezione? nel blocco try o catch? e quando c'è una eccezione che succede al blocco try? |
09-06-2005, 13.55.21 | #32 | |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Quota:
Detto questo, la domanda vuole farti dire che un'eccezione si verifica nel blocco try (che significa: tu "prova" ad eseguire il codice) e viene poi gestita/catturata nel più vicino blocco catch. Cosa succede nel blocco try? Bene, vengono ignorate tutte le istruzioni seguenti quella che genera l'eccezione, e si salta al più vicino blocco catch per la gestione dell'eccezione. Qualche esempio va! Codice:
try{ classe1.metodoUno(); //genera l'eccezione MiaException classe1.metodoDue(); } catch (MiaException e){ System.out.println("Ehilà, eccezione!" + e.toString()); } System.out.println("Fuori dal trycatch"); Codice:
try{ try{ classe1.metodoUno(); //genera l'eccezione LevelOneException classe1.metodoDue(); } catch (LevelTwoException e){ System.out.println("2nd level!" + e.toString()); } catch (AnotherException e){ //do nothing } } catch (LevelOneException e){ System.out.println("1st level!" + e.toString()); } System.out.println("Fuori dal trycatch"); In questo caso, nel blocco try/catch più interno, viene lanciata l'eccezione di livello 1, ma il catch immediatamente presente gestisce solo quella di livello 2 o sequenzialmente AnotherException, che mettiamo non abbia relazioni con le altre Exception, quindi non viene eseguito; si esce quindi dal blocco try più interno perchè non si è riusciti a gestire l'eccezione, e si analizza il blocco catch del livello try/catch più esterno: questo sì che va bene, poichè catcha proprio l'eccezione che serve a noi (poteva catchare anche una superclasse di LevelOneException, ovvero se LevelOneException ereditava da LevelZeroException, e in questo blocco try si fosse catchata LevelZeroException, sarebbe andato bene cmq: vige la regola solità sul type checking classica di Java ) Come vedi, si tratta proprio di rilancio (throw) delle eccezioni, da un blocco interno ad un altro più esterno. L'operazione che infatti accade quando viene sollevata un'eccezione, è proprio quella di Codice:
throw new TipoDiEccezione(parametri); Codice:
try{ classe1.metodoUno(); //genera l'eccezione MiaException classe1.metodoDue(); } catch (MiaException e){ System.out.println("Ma va come sono idiota, sbaglio sempre" + e.toString()); errori = errori + 1; throw e; } System.out.println("Fuori dal trycatch"); Avete parlato di blocchi finally? |
|
09-06-2005, 14.30.17 | #33 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Si, dei finally qualcosa so.
aspe che c'ho qualche altra bella domandina. 1) quando nella signature scrivo piu eccezioni le devo scrivere in ordine come poi staranno nel corpo del metodo o no? 2) Definizione java exception: -inaspettata situazione che se non gestita correttamente terminera il programma. - inaspettato codice scritto dal programmatore. Ora visto che il sole mi rimbecillisce c'ho pure bisogno della conferma che la prima risposta è quella esatta. 3) (la metto inglese senno in italiano viene brutta tradotta da me ) What must be done when throwing an integer as an exception ? -integers cannot be thrown -declare integers as throwable -import the exception class -encapsulate the integer hanlder. Io c'ho messo la seconda. Altra cosa: il metodo longSeek() non esiste vero? |
09-06-2005, 14.51.22 | #34 | ||||
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Quota:
E devi mettere solo le eccezioni che possono essere lanciate "fuori" dal metodo. Per spigerami meglio: se nel tuo metodo viene lanciata un'eccezione MiaException, e in tutti i casi in cui viene lanciata ne viene pure fatto un catch, senza rilanciarla, effettivamente il metodo non la lancia, almeno per agli effetti esterni, osservabili da un chiamante. Ancora di più: sei obbligato a mettere tutte le eccezioni checked, mentre quelle unchecked (ossia quelle che ereditano da RuntimeException) puoi metterle come non metterle: un esempio tipico è la NullPointerException, che può essere segnalata nella signature oppure no, a scelta del programmatore. Quota:
Sì sì è la prima Quota:
La risposta corretta è la prima. Possono essere "throwati" () solo gli oggetti che ereditano dalla classe Throwable: se guardi nella specifica del linguaggio Java, la classe Integer implementa le Comparable e Serializable, ma NON Throwable. Non puoi neanche dichiarare la classe Throwable, non ha senso, è già una classe definita da Java, nun ze po ffa! In C invece si può fare, ma Java è superiore Quota:
Ultima modifica di Dav82 : 09-06-2005 alle ore 16.56.32 |
||||
09-06-2005, 15.09.54 | #35 | |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Quota:
Io non l'ho trovata ne sul mio libro ne su goooogle, ad una domanda c'è una risposta che parla di sto metodo ma non avendolo mai sentito l'ho considerato sbagliato. |
|
09-06-2005, 15.17.16 | #36 |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Ragazzo!
Non dirmi che non hai una copia delle Java API!!! Tragedia! Orrore! Sacrilegio! Vai subito qua e fai il download della J2SE Documentation, è un ordine! E' uno zippone (42MB) di file html che contengono il javadoc delle classi fornite da Java. Cmq nella classe Throwable non c'è questo metodo, né nelle classi da cui eredita (java.lang.Object, la madre di tutte le classi) né nelle interfacce che implementa (java.lang.Serializable) Scarica lo zippone... è importante averlo e saperlo usare, senza non si può programmare in Java |
09-06-2005, 15.20.36 | #37 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
ehm...beh...ecco, con il 56kappino non posso eccedere in downlodamenti troppo pesanti, ma appena vado a scuola non manchero di rallentare la linea sior
|
09-06-2005, 15.30.42 | #38 |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Certo che uno che si chiama Downloader e ha la 56k....
Ah ecco, mi ero dimenticato del blocco finally. Il blocco finally può essere messo nell'architettura try/catch in posizione finale, in modo da avere una serie try/catch/finally, ma non è obbligatorio averlo, come invece per il catch, in quanto è un componente opzionale. Che fa sto finally? Viene eseguito COMUNQUE, qualunque cosa accada nell'esecuzione del codice. C'è un'eccezione nel blocco try? Bene, le istruzioni nel blocco finally realavito al blocco try in esame verranno comunque eseguite, anche in presenza di un'eccezione, anche se il blocco catch rimanda da un'altra parte, fa tutto quello che vuole, le istruzioni nel finally vengono eseguite. C'è una sola eccezione alla regola: se viene chiamata la System.exit() beh, non c'è nulla da fare, il programma termina e il tuo blocco finally te lo scordi C'è anche un'altra eccezione ma... qui sta al programmatore: non far andare in loop il programma! Anche in questo caso il blocco finally, ovviamente, te lo scordi |
09-06-2005, 18.28.26 | #39 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Altre domandine, poi basta fino a stanotte
what should be done when code contains statements that can throw exception? -Let the operating system handle all exception -declare the exception in a throw cluase or place the statement in a try/catch/finally block <-- -include code from the handler class to catch the exception -ingnore all exceptions what is purpose of try block? -the try block is used to catch unwnated types of object -the try block contains code that may generate an exception <-- -the try block throws exceptions in order to test exception handling of the system -the try block is used to debug code that has not been proven and may contain exception what is the correct definition of an exception handler? -the main section of code for the class that executes -a section of code that contains the instructions concerning what do to with an exception <-- -a section of code in which an exception may occur -a section of code that executes when a button is clicked con <-- indico la mia risposta tnx! |
10-06-2005, 02.14.33 | #40 | |||
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Quota:
Precisazione: questo vale per le eccezioni checked (come le chiama Barbara Liskov), mentre per quelle unchecked non è necessaria questa procedura: si può usare e nessuno dice niente, ma volendo il programmatore può non mettere né il try/catch né l'indicazione nella signature del metodo. Cosa sono eccezioni checked e unchecked? Le unchecked sono delle sottoclassi di RuntimeException, ossia delle eccezioni che sono tipiche dell'esecuzioni quale NullPointerException, mentre eccezioni che denotano malfunzionamenti gravi sono normalmente checked, ossia ereditano da Exception ma NON da RuntimeException. Per le eccezioni già definite da Java la scelta è ovviamente fissata, per il resto sta al programmatore agire cum grano salis Quota:
Quota:
|
|||
10-06-2005, 10.17.33 | #41 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Ok, ora mi metto a studiare le collections.
|
10-06-2005, 14.43.31 | #42 | |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Quota:
|
|
10-06-2005, 22.08.16 | #43 |
Gold Member
Top Poster
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
|
Ed ecco puntuali alcune domandine ine ine ine:
The phrase “re-arranging the elements in a collections on some random order” correctly defines which term? -Sorting <-- -shuffling -duplication -adding Which statements best describes a map? -A map is a list -a map is an ordered set of objects -a map is a set that allows repetitions -a map is a set of pairs, mapping a key value with an object <-- Which of the following Collections framework storage methods requires the most memory for storage of a group of objects? -array <-- -linked-list -tree -hash table |
10-06-2005, 22.18.25 | #44 | |||
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Quota:
Quota:
Quota:
Direi quindi che la tua risposta è giusta (Y) Ops, edit: avevo letto "less" e non "most". E cmq bisogna sempre vedere cosa si vuole sapere: ci sono molti modi per valutare lo spazio occupato; per esempio se hai da tenere 3 oggetti, con un array di 3 elementi occupi sicuramente meno spazio che con una linked-list di 3 elementi; se però non conosci a priori la quantità di elementi, con una linked-list non sprecherai mai posizioni, in quanto la puoi allungare/accorciare quanto, quando e come vuoi, mentre un array dovrà essere sovradimensionato... diciamo che la domanda, a mio modo di vedere, è mal posta Ultima modifica di Dav82 : 10-06-2005 alle ore 22.24.52 |
|||
10-06-2005, 22.49.50 | #45 |
Gold Member
Top Poster
Registrato: 18-07-2002
Messaggi: 6.399
|
Tu su che base hai dato la risposta?
Sei sicuramente più fresco di me sulle collection, così ripasso qualcosa pure io |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
Problemi Java. | Armando@56 | Software applicativo | 4 | 19-03-2008 16.27.05 |
Applicazione java pronta per l'uso | juggler | Programmazione | 1 | 18-12-2006 22.11.18 |
[NEWS] Java diventa open source! | UG0_BOSS | Segnalazioni Web | 2 | 14-11-2006 16.27.14 |
Java 5.0 upd. 10 / 6 RC | Thor | Archivio News Web | 10 | 14-11-2006 13.56.18 |
[LINUX] windows media player per linux | sacarde | Linux e altri Sistemi Operativi | 35 | 19-08-2006 12.55.31 |