-
domanda stupida per i javariScritto dagengivaUtente privileggiatoil 2011-12-09 12:41:00.0 alle 2011-12-09 12:41:00.0Trollate totali: 9100riguardo le eccezioni
non mi ero mai posto il problema perché usando eclipse tutte le vote che usavo metodi che necessitano un controllo, l'editor me lo diceva e io facevo "surround with try-catch" e morta li.
ora sto facendo un progetto universitario che mi chiede di definire delle eccezioni controllate per alcuni metodi. ho notato che dopo aver definito un'eccezione controllata, quando vado a usare il metodo che mi serve, l'esecuzione del programma viene terminata dopo aver stampato il messaggio d'errore(sto facendo delle prove apposta per fargli trovare delle anomalie) se nell'intestazione della classe dove invoco il metodo uso throw, invece va tutto liscio se intercetto con try-catch (naturalmente prima mi stampa il messaggio d'errore).
per me non è un problema visto che in un modo o nell'altro il programma funziona, ma è normale questa cosa e sono io il pirla e sbaglio qualcosa quando throwo?
inb4:
> sei un cretino
> meno male che hai passato l'esame
> capra capra capra!!!
Cercatelo con Google, ritardato! ©-
Re: domanda stupida per i javariScritto daNon Autenticatoil 2011-12-09 12:49:00.0 alle 2011-12-09 12:49:00.0
- Scritto da: gengiva
> riguardo le eccezioni
>
> non mi ero mai posto il problema perché usando
> eclipse tutte le vote che usavo metodi che
> necessitano un controllo, l'editor me lo diceva e
> io facevo "surround with try-catch" e morta
> li.
>
> ora sto facendo un progetto universitario che mi
> chiede di definire delle eccezioni controllate
> per alcuni metodi. ho notato che dopo aver
> definito un'eccezione controllata, quando vado a
> usare il metodo che mi serve, l'esecuzione del
> programma viene terminata dopo aver stampato il
> messaggio d'errore(sto facendo delle prove
> apposta per fargli trovare delle anomalie) se
> nell'intestazione della classe dove invoco il
> metodo uso throws, invece va tutto liscio se
> intercetto con try-catch (naturalmente prima mi
> stampa il messaggio
> d'errore).
> per me non è un problema visto che in un modo o
> nell'altro il programma funziona, ma è normale
> questa cosa e sono io il pirla e sbaglio qualcosa
> quando
> throwo?
>
> inb4:
>
> > sei un cretino
>
> > meno male che hai passato l'esame
>
> > capra capra capra!!!
se non gestisci l'eccezione mi pare chiaro che il programma termini, con try catch hai sotto un blocco di gestione dell'eccezione, con throws chi la gestisce?-
Re: domanda stupida per i javariScritto dagengivaUtente privileggiatoil 2011-12-09 13:05:00.0 alle 2011-12-09 13:05:00.0Trollate totali: 9100- Scritto da:
>
> - Scritto da: gengiva
> > riguardo le eccezioni
> >
> > non mi ero mai posto il problema perché usando
> > eclipse tutte le vote che usavo metodi che
> > necessitano un controllo, l'editor me lo diceva
> e
> > io facevo "surround with try-catch" e morta
> > li.
> >
> > ora sto facendo un progetto universitario che mi
> > chiede di definire delle eccezioni controllate
> > per alcuni metodi. ho notato che dopo aver
> > definito un'eccezione controllata, quando vado a
> > usare il metodo che mi serve, l'esecuzione del
> > programma viene terminata dopo aver stampato il
> > messaggio d'errore(sto facendo delle prove
> > apposta per fargli trovare delle anomalie) se
> > nell'intestazione della classe dove invoco il
> > metodo uso throws, invece va tutto liscio se
> > intercetto con try-catch (naturalmente prima mi
> > stampa il messaggio
> > d'errore).
> > per me non è un problema visto che in un modo o
> > nell'altro il programma funziona, ma è normale
> > questa cosa e sono io il pirla e sbaglio
> qualcosa
> > quando
> > throwo?
> >
> > inb4:
> >
> > > sei un cretino
> >
> > > meno male che hai passato l'esame
> >
> > > capra capra capra!!!
>
> se non gestisci l'eccezione mi pare chiaro che il
> programma termini, con try catch hai sotto un
> blocco di gestione dell'eccezione, con throws chi
> la
> gestisce?
pensavo che sollevandola nel corpo del metodo
if(condizione){throw new GengivaEccezione(stringa);}
e poi esplicitando throws nell'intestazione della classe chiamante, se la sarebbe andata a cercare.. ops
Cercatelo con Google, ritardato! ©
-
-
Re: domanda stupida per i javari
- Scritto da: gengiva
> riguardo le eccezioni
>
> non mi ero mai posto il problema perché usando
> eclipse tutte le volte che usavo metodi che
> necessitano un controllo, l'editor me lo diceva e
> io facevo "surround with try-catch" e morta
> li.
>
> ora sto facendo un progetto universitario che mi
> chiede di definire delle eccezioni controllate
> per alcuni metodi. ho notato che dopo aver
> definito un'eccezione controllata, quando vado a
> usare il metodo che mi serve, l'esecuzione del
> programma viene terminata dopo aver stampato il
> messaggio d'errore(sto facendo delle prove
> apposta per fargli trovare delle anomalie) se
> nell'intestazione della classe dove invoco il
> metodo uso throws, invece va tutto liscio se
> intercetto con try-catch (naturalmente prima mi
> stampa il messaggio
> d'errore).
> per me non è un problema visto che in un modo o
> nell'altro il programma funziona, ma è normale
> questa cosa e sono io il pirla e sbaglio qualcosa
> quando
> throwo?
>
> inb4:
>
> > sei un cretino
>
> > meno male che hai passato l'esame
>
> > capra capra capra!!!
Credo di non aver capito quello che dici.
Se fai "try-catch" lo fai per gestire un'eccezione. Gestire un'eccezione significa appunto eseguire delle azioni che avvengono solo in caso nel codice in oggetto ci sia un'eccezione. Serve ad assicurarti che determinate azioni siano svolte in caso d'errore (dare un messaggio all'utente, chiudere delle risorse [file aperti per esempio], eseguire altre azioni alternative, ecc) e nella maggior parte dei casi impedire al tuo programma di crashiare miseramente. Se un'eccezione non la gestisci questa risalirà nello stack delle chiamate finché non viene gestita... e se nessuno la gestisce il programma termina.
Quando fai un throw stai creando tu un'eccezione che qualcuno dovrà gestire in qualche modo (in genere fuori dal metodo che crea l'eccezione). Se ad un metodo dici che fa il throws di una determinata eccezione gli stai dicendo che se al suo interno si verifica quell'eccezione di passarla semplicemente al pezzo di codice esterno al metodo che l'ha chiamato... ma qualcuno "lì fuori" dovrà gestirla, tu stai solo facendo il "ponzio pilato" lavandotene le mani (cosa che fai o per avere un punto centrale dove gestire diverse eccezioni per qualche ragione, o perché è il modo scelto da te per segnalare a chi ha chiamato il tuo metodo che qualcosa è andato storto).
Se quell'eccezione capita il tuo metodo si limiterà a terminare passando l'eccezione al pezzo di codice che l'ha invocato, e se nemmeno quello la gestisce questa risalirà nello stack delle chiamate fino a raggiungere il "main" del programma e a quel punto, se nemmeno lì è gestita, l'eccezione terminerà il programma con un messaggio d'errore.-
Re: domanda stupida per i javariScritto dagengivaUtente privileggiatoil 2011-12-09 13:08:00.0 alle 2011-12-09 13:08:00.0Trollate totali: 9100
- Scritto da: Daisuke Niwa
>
> - Scritto da: gengiva
> > riguardo le eccezioni
> >
> > non mi ero mai posto il problema perché usando
> > eclipse tutte le volte che usavo metodi che
> > necessitano un controllo, l'editor me lo diceva
> e
> > io facevo "surround with try-catch" e morta
> > li.
> >
> > ora sto facendo un progetto universitario che mi
> > chiede di definire delle eccezioni controllate
> > per alcuni metodi. ho notato che dopo aver
> > definito un'eccezione controllata, quando vado a
> > usare il metodo che mi serve, l'esecuzione del
> > programma viene terminata dopo aver stampato il
> > messaggio d'errore(sto facendo delle prove
> > apposta per fargli trovare delle anomalie) se
> > nell'intestazione della classe dove invoco il
> > metodo uso throws, invece va tutto liscio se
> > intercetto con try-catch (naturalmente prima mi
> > stampa il messaggio
> > d'errore).
> > per me non è un problema visto che in un modo o
> > nell'altro il programma funziona, ma è normale
> > questa cosa e sono io il pirla e sbaglio
> qualcosa
> > quando
> > throwo?
> >
> > inb4:
> >
> > > sei un cretino
> >
> > > meno male che hai passato l'esame
> >
> > > capra capra capra!!!
>
> Credo di non aver capito quello che dici.
>
> Se fai "try-catch" lo fai per gestire
> un'eccezione. Gestire un'eccezione significa
> appunto eseguire delle azioni che avvengono solo
> in caso nel codice in oggetto ci sia
> un'eccezione. Serve ad assicurarti che
> determinate azioni siano svolte in caso d'errore
> (dare un messaggio all'utente, chiudere delle
> risorse [file aperti per esempio], eseguire altre
> azioni alternative, ecc) e nella maggior parte
> dei casi impedire al tuo programma di crashiare
> miseramente. Se un'eccezione non la gestisci
> questa risalirà nello stack delle chiamate finché
> non viene gestita... e se nessuno la gestisce il
> programma
> termina.
>
> Quando fai un throw stai creando tu un'eccezione
> che qualcuno dovrà gestire in qualche modo (in
> genere fuori dal metodo che crea l'eccezione). Se
> ad un metodo dici che fa il throws di una
> determinata eccezione gli stai dicendo che se al
> suo interno si verifica quell'eccezione di
> passarla semplicemente al pezzo di codice esterno
> al metodo che l'ha chiamato... ma qualcuno "lì
> fuori" dovrà gestirla, tu stai solo facendo il
> "ponzio pilato" lavandotene le mani (cosa che fai
> o per avere un punto centrale dove gestire
> diverse eccezioni per qualche ragione, o perché è
> il modo scelto da te per segnalare a chi ha
> chiamato il tuo metodo che qualcosa è andato
> storto).
>
> Se quell'eccezione capita il tuo metodo si
> limiterà a terminare passando l'eccezione al
> pezzo di codice che l'ha invocato, e se nemmeno
> quello la gestisce questa risalirà nello stack
> delle chiamate fino a raggiungere il "main" del
> programma e a quel punto, se nemmeno lì è
> gestita, l'eccezione terminerà il programma con
> un messaggio
> d'errore.
ho capito
Cercatelo con Google, ritardato! ©
-
-
Re: domanda stupida per i javari- Scritto da: gengiva
Non ho capito bene cosa vuoi fare, provo a spiegare in Giambese, se capisci riceverai la cittadinanza onoraria svizzera e entro 14 giorni dei tecnici specializzati rimuoveranno il bidet da casa tua.
Se un metodo dichiara "throw", significa che puo' generare quell'eccezione.
Per esempio invocando questo metodo ci provi con un utente del FdT: Ritorna "true" se ce la fai, "false" se non ce la fai e FdTException se capita qualcosa di imprevistopublic boolean provaciCon(String utenteDelFdT) throws FdTException { ... }
Ora, tu dal tuo programma ci provi con Dada e ti becchi un "true", ci provi con Ordine Reich e ti becchi un "false", ci provi con te stesso e ... FdTException !
La domanda e': Come gestire questa exception ?
Puoi ignorarla e proseguire come se niente fosse:try { provaciCon("gengiva"); catch (FdTException e) { // fa nulla, non amo l'onanismo }
Puoi gestirla in qualche modo, stampando la stacktrace e terminando il programma per esempio:try { provaciCon("gengiva"); catch (FdTException e) { // non mi voglio bene <IMG SRC="images/emo/11.gif" border="0" height="20" alt="In lacrime" title="In lacrime"> !! e.printStackTrace(); System.exit(0) }
Oppure puoi fare in modo che l'eccezione "risalga" la gerarchia di chi ha chiamato e che prima o poi qualcuno se ne occupi. In questo caso tutti gli appartenenti alla gerarchia devono dichiarare che gettano un'exception di tipo FdTException o superiore (java.lang.Exception, ...)public void faiQualcosa() throws FdTException { ... provaciCon("gengiva"); ... }
Mi scappa la pipi', non controllo che cosa ho scritto e schisio su "Invia"
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: domanda stupida per i javari
Ecco, la Wakka si e' presa i meriti di averti risposto
!!
Mi riscatto con una massima: "Non esistono domande stupide, ma solo non-javari stupidi"
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: domanda stupida per i javariScritto dagengivaUtente privileggiatoil 2011-12-09 13:32:00.0 alle 2011-12-09 13:32:00.0Trollate totali: 9100
- Scritto da: Giambo
>
> Ecco, la Wakka si e' presa i meriti di averti
> risposto
> !!
>
> Mi riscatto con una massima: "Non esistono
> domande stupide, ma solo non-javari stupidi"
>
mi hai appena dato del non-javaro stupido?
credo che andrò a suicidarmi ora
Cercatelo con Google, ritardato! ©-
Re: domanda stupida per i javari
- Scritto da: gengiva
> mi hai appena dato del non-javaro stupido?
> credo che andrò a suicidarmi ora
Non ti ho dato del javaro stupido
!
Ma sei troppo stupido per capirlo
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: domanda stupida per i javariScritto dagengivaUtente privileggiatoil 2011-12-09 14:13:00.0 alle 2011-12-09 14:13:00.0Trollate totali: 9100
- Scritto da: Giambo
>
> - Scritto da: gengiva
>
> > mi hai appena dato del non-javaro stupido?
> > credo che andrò a suicidarmi ora
>
> Non ti ho dato del javaro stupido
!
non-javaro
> Ma sei troppo stupido per capirlo
è tutto vero
Cercatelo con Google, ritardato! ©-
Re: domanda stupida per i javari
- Scritto da: gengiva
> > Non ti ho dato del javaro stupido
!
>
> non-javaro
Non del non-javaro, ma del non non-javaro non-stupido ... Ooooohh, lascia perdere
!
> > Ma sei troppo stupido per capirlo
>
> è tutto vero
Oggi hai imparato una grande lezione, jovane Jedi
!
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
-
-
-
-
-