Search the web
Sign In
New User? Sign Up
it-torino-java-jug · Jug Torino (Java User Group)
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Message search is now enhanced, find messages faster. Take it for a spin.

Best of Y! Groups

   Check them out and nominate your group.

Messages

  Messages Help
Advanced
Checked Exceptions   Message List  
Reply Message #10584 of 13775 |
Ciao,

ultimamante sembra ritornato il tema "checked exceptions: sono
veramente utili ?", anche perche' il proposal per le closures ha
diversi costrutti che lo complicano proprio perche' deve supportare le
checked exceptions (vedi qui:
http://gafter.blogspot.com/2007/05/removing-language-features.html).

Detto che la JVM non ha il concetto di checked/unchecked (che e' solo
implementato a livello di compilatore), qual e' la vostra esperienza
in materia di checked exceptions ?
Tralasciate i commenti facili del tipo "non servono, tant'e' che
spring/hibernate le hanno rimosse dalle loro API", ma piuttosto
*quando* servono.

La mia opinione e' che le checked exception debbano essere usate con
cautela, ma che facciano parte della documentazione di una routine e,
visto che vengono "enforced" dal compilatore, ci aiutano a fare meno
errori esattamente come il compilatore ci aiuta a fare meno errori
usando i generics.

Esempio pratico:

public User login(String username, char[] password) throws LoginFailedException

Per me LoginFailedException dovrebbe essere checked, ma per esempio
non mi interessa che eventuali IOExceptions o SQLExceptions vengano
viste dal client come checked (che tanto non ci puo' fare nulla), ne'
che vengano wrappate.

Simon
--
http://bordet.blogspot.com



Tue Jul 17, 2007 4:53 pm

biorn_steedom
Online Now Online Now
Send Email Send Email

Message #10584 of 13775 |
Expand Messages Author Sort by Date

Ciao, ultimamante sembra ritornato il tema "checked exceptions: sono veramente utili ?", anche perche' il proposal per le closures ha diversi costrutti che lo...
Simone Bordet
biorn_steedom
Online Now Send Email
Jul 17, 2007
4:53 pm

... Riprendendo Meyer, le eccezioni fanno parte del contratto tra client e provider. Nel tuo esempio se la precondizione che la coppia utente/password sia ...
Andrea Cerisara
andreacerisara
Offline Send Email
Jul 17, 2007
8:49 pm

... Non parlerei tanto di "accoppiamento", in quanto tu effettivamente stai rispettando il contratto del metodo che stai chiamando gestendo User oppure...
Inglima Davide
Davide.Inglima@...
Send Email
Jul 18, 2007
8:38 am

... Io sono d' accordo con Davide e Luigi. L' eccezione checked deve essere un caso d' uso che il client sa e deve gestire. In quell' esempio, se il client non...
Andrea Cerisara
andreacerisara
Offline Send Email
Jul 18, 2007
7:19 pm

Ciao, ... Mi sembra corretto "a naso", ma qui il problema non e' tanto il naso (sebbene Carlo ci tenga ;) ma un problema di design. Se io scrivo una routine: ...
Simone Bordet
biorn_steedom
Online Now Send Email
Jul 18, 2007
7:32 pm

Dove metterei quel login? In una classe Service. Chiamiamola UserAuthenticationService. Quella classe service andrà a chiamare a sua volta un Repository ...
Antonio Terreno
java2me_org
Offline Send Email
Jul 18, 2007
7:50 pm

Ciao, ... Non li puoi gestire nel Repository i problemi di SQL, e infatti penso che tu intenda che da quel layer "scappano" RuntimeSQLExceptions. ... Non ho...
Simone Bordet
biorn_steedom
Online Now Send Email
Jul 18, 2007
8:23 pm

Mi spiego meglio... ... Beh il fantomatico repository userà si spera un connection manager o che ne so. Niente stack trace sul client, ci mancherebbe. ...
Antonio Terreno
java2me_org
Offline Send Email
Jul 18, 2007
9:41 pm

Ciao, ... Il paragone corretto e': OutputStream f = null; try { f = new FileOutputStream("testfile"); // .. process System.out.println("Congratulations -- no...
Simone Bordet
biorn_steedom
Online Now Send Email
Jul 18, 2007
11:10 pm

Ciao, ... Esattamente il mio punto. La throws clause e' parte della documentazione "viva" del metodo e non marcisce come i javadocs. E da qui la domanda sul...
Simone Bordet
biorn_steedom
Online Now Send Email
Jul 18, 2007
11:31 pm

Quando le checked hanno un senso. Mai? Mai dire mai. Mi accontento del suggerimento dell'IDE, il compilatore mi disturba. Il codice che viene fuori da...
Antonio Terreno
java2me_org
Offline Send Email
Jul 19, 2007
10:58 am

Concordo in pieno, infatti l'annotation era la mia opzione favorita nella scorsa discussione sulle checked di qualche tempo fa. Credo che renderebbe tutto...
Carlo Bottiglieri
invernomutoai
Offline Send Email
Jul 19, 2007
11:18 am

... Per quanto riguarda LoginFailedException non saprei... è un po' come dire, per fare un esempio cretino, quel caso dove parecchie funzioni che in java...
Inglima Davide
Davide.Inglima@...
Send Email
Jul 19, 2007
8:42 am

Ciao, ... Esatto. In C non hai nessun modo di fare l'enforcing di questo, in Java ce l'hai dichiarando l'eccezione checked. Chi scrive la routine decide, a un...
Simone Bordet
biorn_steedom
Online Now Send Email
Jul 19, 2007
1:37 pm

Ripescato, per caso(*), un vecchio link, molto buono che aggiunge un po' più di motivazioni al no alle unchecked. http://www.artima.com/intv/handcuffsP.html ...
Antonio Terreno
java2me_org
Offline Send Email
Jul 20, 2007
7:39 am

... Non mi ha convinto tanto, sinceramente. Sono tutte cose giustissime (ci mancherebbe), se applicate ad un modo di usare le eccezioni checked che secondo me...
Andrea Cerisara
andreacerisara
Offline Send Email
Jul 21, 2007
10:57 am

... Peccato, ci riprovo. ... Quel tuo costringendo i client ad adeguarsi mi ha ravvivato un ricordo, esperienza vissuta. Mega progetto, 10-15 team che lavorano...
Antonio Terreno
java2me_org
Offline Send Email
Jul 21, 2007
12:19 pm

... Immagino, davvero. Sai cos' è? Che per come la vedo io una clausola throw su un metodo dovrebbe evolversi con la stessa frequenza con cui si aggiunge o ...
Andrea Cerisara
andreacerisara
Offline Send Email
Jul 21, 2007
1:19 pm

Ciao, ... Che la birra di Londra (spero che non sia il lavaggio del cervello) ti fa male :) Stai diventando troppo talebano senza che serva a qualcosa. E'...
Simone Bordet
biorn_steedom
Online Now Send Email
Jul 21, 2007
5:14 pm

E' la birra è la birra :-D CMQ non voleva essere una sparata ma più una provocazione da cui magari intavolare una discussione interessante... ;-) ... -- ...
Antonio Terreno
java2me_org
Offline Send Email
Jul 21, 2007
8:51 pm

Simone Bordet ha scritto: On 7/21/07, Antonio Terreno <antonio.terreno@...> wrote: Oppure cambiamo discorso, secondo me le prossime due cose (dopo tipi e...
Bruno Bossola
bruno_bossola
Offline Send Email
Jul 23, 2007
11:13 am

Sicuro! La polemica alimenta sempre l'attenzione, suggerirei qualcosa nell'immediato dopo-pranzo, così da avere un effetto digestivo....
Carlo Bottiglieri
invernomutoai
Offline Send Email
Jul 24, 2007
8:21 am

speech, speech, speech (in italiano pero') :) ... -- - Danilo Ventura - speech, speech, speech (in italiano pero') :) Il 24/07/07, Carlo Bottiglieri <...
Danilo Ventura
danven72
Offline Send Email
Jul 25, 2007
2:16 pm

... Infatti, una possibilità in più non può che fare piacere basta che si usata con cautela dallo sviluppatore. Cmq di quell'articolo nn mi piace quando...
davidecerbo@...
nonnojesty
Offline Send Email
Jul 21, 2007
11:17 am

... Eheeehe ottimo, ti ho risposto nella mia risposta ad Andrea. -- Antonio Terreno http://blog.java2me.org/...
Antonio Terreno
java2me_org
Offline Send Email
Jul 21, 2007
12:28 pm

... Secondo me dipende dal significato che dai alla LoginFailedException. Se stabiliamo che la routine login debba ritornare un' istanza di utente, tranne nei...
Andrea Cerisara
andreacerisara
Offline Send Email
Jul 19, 2007
5:58 am

Secondo me la questione non è tanto se il client saprà gestire o meno IOException e SQLException. Una unchecked non ti impedisce di gestirla, se vuoi. La...
Carlo Bottiglieri
invernomutoai
Offline Send Email
Jul 19, 2007
8:06 am

Una piccola nota di fondo. Non uso spesso le eccezioni per rappresentare il normale comportamento del sistema, Bloch adduce motivi di prestazioni, io lo faccio...
Carlo Bottiglieri
invernomutoai
Offline Send Email
Jul 19, 2007
8:24 am

+1, anche io facevo cosi', diciamo che questo e' il primo giro di refactoring, il secondo sarebbe cambiare java e levarsele di mezzo :-D ... -- Antonio Terreno...
Antonio Terreno
java2me_org
Offline Send Email
Jul 19, 2007
11:01 am
First  | < Prev  |  Last 
Advanced

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help