PDA

View Full Version : [C#] mancanza eccezioni checked


71104
13-02-2008, 16:44
leggevo questo articolo in merito:
http://discuss.develop.com/archives/wa.exe?A2=ind0011A&L=DOTNET&P=R32820

ma ci sono delle cose che mi perplimono alquanto... :stordita:

Requiring exception specifications would decrease developer
productivity because of the sheer proliferation of exception specifications.
This proliferation proceeds in two dimensions:
The number of members. Modern exception handling allows a
division of work between the code that raises the exception and the code
that handles it. These pieces of code may be separated by intervening code.
E.g., A calls B, B calls C, C calls D, and D raises an exception that is
eventually handled by A. If C# required exception specifications, then each
of A, B, C, and D would have to contain exception-handling related code even
though only A and D do any actual work related to the exception.
mi interessa molto capire il motivo di ciò, ma astenetevi categoricamente dal rifilarmi risposte lamer come "perché C# è una merda Micro$oft suckzz Java 4ever" (se lo fate vi segnalo -.-' ).

The number of possible exceptions. The number of exceptions
is unquestionably large. E.g., any code that adds two numbers could result
in an overflow exception, any code that divides two numbers could result in
a divide by zero exception, and any code that instantiates an object could
result in an out of memory exception.
questo discorso non l'ho mica capito... mica tutte le eccezioni devono essere checked: le eccezioni da lui citate in Java sono unchecked.

voi che ne pensate? :stordita:

mad_hhatter
13-02-2008, 23:51
penso che in C# una delle cose che piu' mi mancano sono proprio le eccezioni checked... spesso le eccezioni unchecked in java rappresentano veri e propri bug (ad esempio una divisione per zero e' un mancato controllo sul valore di una variabile, un arrayIndexOutOfBounds e' chiaro segnale che ho sbagliato a gestire un indice, ecc). le eccezioni checked invece segnalano condizioni eccezionali ma coerenti con la la semantica dell'operazione che puo' lanciarle. Ad esempio una IOException in lettura/scrittura da uno stream puo' essere lanciata perche' e' accaduto qualcosa di anomalo, ma non necessariamente prefigura un errore logico nel codice. Da qui la convenienza di un metodo che avvisi il programmatore di quali sono le possibili anomalie cui puo' andare incontro.

71104
20-02-2008, 12:51
up :O

^TiGeRShArK^
20-02-2008, 13:10
anche io sento la mancanza delle eccezioni checked in C#..
E ancora non mi sono abituato soprattutto :muro:

71104
20-02-2008, 15:36
si vabbè grazie, la mancanza la sento anch'io :stordita: ma nessuno sa spiegarmi il significato dei due passi che ho citato? :confused:

cdimauro
11-03-2008, 15:25
http://www.artima.com/intv/handcuffs.html

Contento? ;)

71104
11-03-2008, 15:31
http://www.artima.com/intv/handcuffs.html

Contento? ;)
òòòòòò, intanto grazie per la risposta :D
ora me lo leggo

kernel::panic
11-03-2008, 18:49
http://www.artima.com/intv/handcuffs.html

Contento? ;)

Articolo molto interessante... thank U ;)

cdimauro
11-03-2008, 19:28
In realtà tutta l'intervista, che è composta da diverse parti (questa è soltanto la seconda) è estremamente interessante, per cui il mio invito è quello di leggerla tutta. :)