Mmmm no estaba pensando en un observer cuando te hablé de excepciones, porque en principio se manejan de manera distinta...
Yo apuntaba a algo así:
Un objeto de negocio que supongamos es algo así (escribo en java):
Código:
public class Cliente{
public void bailar(int unTiempo){
if (unTiempo < 0)
throw new BaileException("el cliente no puede bailar un tiempo negativo");
}
}
Y en la presentación, o controller o como quieras decirle, no me interesa el nombre :P, digamos algo como:
Código:
...
public bailarButton_click(){
try{
unCliente.bailar(lblUnaCantidad.getValue());
}catch(BailarException e){
lblError.setValue(e.getMessage());
}
}
...
O sea, tiro la excepcion en la capa de negocio, y en el controller la capturo y la trato (mas que tratarla estoy mostrandole el error al usuario, que es lo conveniente, para que el usuario se de cuenta de que no esta haciendo las cosas del todo bien).