Pages: [1]   Go Down
Print
Author Topic: Eccezioni verificate e non Verificate  (Read 1612 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
callo
Forumista
***
Offline Offline

Gender: Male
Posts: 564


"Quanto manca alla vetta?";"Tu sali e non pensare"


« on: 23-05-2011, 23:08:26 »

Ragazzi stavo facendo i quesiti del sistema di esercitazione e devo dire che tutto stava andando abbastanza bene fino alla seguente domanda:

"Le eccezioni non verificate non è necessario intercettarle" io l'ho flaggata come risposta corretta (anche perché penso che non per forza bisogna intercettare un NullPointerException o un IndexOutOfBoundException ecc) ........la domanda successiva però qual è?

"Le eccezioni verificate non è necessario intercettarle" ...questa non l'ho flaggata (anche perchè un FileNotFoundException o EOFException per forza le devo intercettare!!) però ecco che il sistema mi da errore!!  .......come errore!!! Ok da questo momento posso considerarmi abbastanza confuso sulle eccezioni verificate e non...o meglio: "ho sbagliato io o c'è un errore??"
Logged

"A cavallina....a cavallina.....a chi era bedda quannu  curreva" [Cit.  Dal Tenerissimo via plebiscito]
zElOtO
Forumista
***
Offline Offline

Gender: Male
Posts: 845



WWW
« Reply #1 on: 24-05-2011, 00:07:57 »

- Le Eccezioni verificate non è necessario che siano intercettate
- Le Eccezioni non verificate non è necessario che siano intercettate


Queste per il sistema sono entrambe vere, tu segnale così  boh
Logged

I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. Insieme sono una potenza che supera l'immaginazione. (A. Einstein)

Damiano Cancemi
www.damianocancemi.com
www.nerdbren.com
www.nerdbren.com/blog
callo
Forumista
***
Offline Offline

Gender: Male
Posts: 564


"Quanto manca alla vetta?";"Tu sali e non pensare"


« Reply #2 on: 24-05-2011, 00:43:25 »

Ma c'è un errore per forza(oppure io non sto capendo bene la domanda!!) perché se scrivo il banalissimo codice per la divisione per 0
Code:
public class prova
{
public static void main(String args[])
{
double d=7/0;
System.out.println(d);
}
}
Posso anche non intercettare l'eccezione(non verificata) che viene lanciata
Code:
Exception in thread "main" java.lang.ArithmeticException: / by zero
   
 Mentre NON posso, per esempio, lavorare con i file senza gestire le possibili eccezioni(verificate) di IOException!!
Logged

"A cavallina....a cavallina.....a chi era bedda quannu  curreva" [Cit.  Dal Tenerissimo via plebiscito]
zElOtO
Forumista
***
Offline Offline

Gender: Male
Posts: 845



WWW
« Reply #3 on: 24-05-2011, 14:13:35 »

Quote
Le classi di eccezione si dividono in verificate (in Inglese, checked) e non verificate (unchecked)
Il termine “verificata” si riferisce al fatto che il compilatore verifica che tali eccezioni siano opportunamente trattate dal programmatore (si veda dopo), mentre le eccezioni non verificate sono ad uso libero
Fonte
Logged

I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. Insieme sono una potenza che supera l'immaginazione. (A. Einstein)

Damiano Cancemi
www.damianocancemi.com
www.nerdbren.com
www.nerdbren.com/blog
callo
Forumista
***
Offline Offline

Gender: Male
Posts: 564


"Quanto manca alla vetta?";"Tu sali e non pensare"


« Reply #4 on: 24-05-2011, 17:51:09 »

Quote
Le classi di eccezione si dividono in verificate (in Inglese, checked) e non verificate (unchecked)
Il termine “verificata” si riferisce al fatto che il compilatore verifica che tali eccezioni siano opportunamente trattate dal programmatore
Ecco appunto questo voglio dire.....le "verificate" per forza devo gestirle altrimenti non posso avviare il programma!!
.. mentre le eccezioni non verificate sono ad uso libero
Fonte
[/quote]
e quindi non per forza devo gestire un ArithmeticException!!Ecco perchè dico che c'è un errore nel testo della domanda....poi possibilmente io mi sto incaponendo senza aver realmente capito cosa mi voglia dire!!
« Last Edit: 24-05-2011, 19:13:05 by soeca » Logged

"A cavallina....a cavallina.....a chi era bedda quannu  curreva" [Cit.  Dal Tenerissimo via plebiscito]
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #5 on: 24-05-2011, 19:05:03 »

"Le eccezioni verificate non è necessario intercettarle" ...questa non l'ho flaggata (anche perchè un FileNotFoundException o EOFException per forza le devo intercettare!!) però ecco che il sistema mi da errore!!
E ha fatto bene !

Infatti le eccezioni verificate non è necessario inteccettarle. Puoi anche decidere di rimbalzarle su per lo stack delle chiamate (mettendo "throws classe" - ove classe è sovraclasse o classe stessa dell'eccezione verificata - alla fine dell'header del metodo in cui tale eccezione verificata può verificarsi), fino addirittura a mettere "throws classe" su "main"  univ, se proprio vuoi insistere.

Ciao .
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #6 on: 28-05-2011, 11:45:15 »

Prima che mi dimentico:

io e soeca ci siamo confrontati via messaggi privati e abbiamo scoperto che il compilatore di OpenJDK per qualche stramba ragione tutta sua non fa nemmeno compilare questo codice:
Code:
public class classeSenzaCatch
{
    public static void main (String [] args) throws java.io.FileNotFoundException
    {
        java.io.FileReader fr = new java.io.FileReader ("file_che_sicuramente non esiste nel tuo computer... blablabla.ecc...");
    }
}
tuttavia, il JDK SunOracle ufficiale lo fa compilare senza problemi.

Quindi dobbiamo dedurre che nel sistema di esercitazioni, la risposta alla domanda in questione è relativa al comportamento del compilatore ufficiale Oracle.
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
Pages: [1]   Go Up
Print
Jump to: