Hola Diego

Me comentas como usas el manejo de excepciones .
Donde usas #error: y donde Exception ?

saludos kiko

--- El mié 15-sep-10, [email protected] <[email protected]> escribió:

De: [email protected] <[email protected]>
Asunto: [clubSmalltalk] Re: Smalltalk en ADVA
Para: "ClubSmalltalk" <[email protected]>
Fecha: miércoles, 15 de septiembre de 2010, 11:10



On Sep 15, 8:50 am, Gabriel Brunstein <[email protected]> wrote:
> > Respecto a los negativos, mas allá de la definición matemática,
> > remarco que los métodos no siempre se pueden enviar a todos los
> > objetos posibles del dominio de una clase. En general los métodos no
> > resuelven todo lo que un receptor de esa clase puede devolver, y sería
> > un error hacer programación defensiva con eso. Asi como no se le puede
> > enviar #copyFrom: 5 a cualquier String, ni #new a cualquier clase, ni
> > #arcCos a cualquier Float. La responsabilidad en el envió de un
> > mensaje está del lado del emisor y no del receptor o método que lo
> > resuelve.
>
> Cuando se envía un mensaje, hay un contrato implícito entre el emisor y el
> receptor. En mi opinión, si ese contrato se rompe (por ejemplo:
> colaboradores no válidos), se debería producir una excepción.

Eso es adecuado cuando se trabaja con interfaces (como en cualquier
OOP), pero en Smalltalk hay objetos que responden a a mensajes que no
tienen un método o interfaz previamente "contratada", asi como hay
mensajes que no se saben responder y existen métodos implementados en
su clase (como los ejemplos que ponía). Las excepeciones yo solo las
uso cuando interactúo con cosas externas a Smalltalk como archivos,
librerías externas o cosas de las que no tengo control, y tengo que
atajar lo que venga. Dentro de Smalltalk una excepción generalmente
esconde los detalles mas ricos de un "error" y es preferible no
usarlas. Quién define la interfaz de un objeto es el emisor, por eso
generalmente se escriben los mensajes antes que los métodos. Un
Saludo.

Diego





-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]

http://www.clubSmalltalk.org



      

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]

http://www.clubSmalltalk.org

Responder a