Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2012, 18:26
Avatar de SetheR
SetheR
 
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Propagación de errores en MVC

Hola muy buenas noches a todos.
Estaba metido aquí en un pequeño proyecto y me he dado cuenta de aún no tengo una manera clara de propagar los mensajes de error de aplicación entre el modelo y el controlador. Me explico:

Imaginaros un método que pide un objeto de una base de datos.
Yo saco los datos y genero el objeto, pero a veces se pueden dar ciertos errores, como que no exista el ID pedido o que la conexión a la base de datos falle.

Cuando el método sólo tiene que manejar un error, pero tiene también que devolver un objeto (una noticia por ejemplo), devulevo NULL y explico el error en el controlador; pero cuando se trata de más errores la cosa se complica.

Actualmente, mi solución consiste en crear en objeto Resultado que contiene un booleano que dice si el resultado es el esperado o no; un campo con la lista de errores generados y otro que es el resultado en sí (el objeto pedido).

El caso, es que mi solución me parece poco elegante. He buscado por ahí aplicaciones "grandes" para ver como abordan éste problema, pero no he llegado a ninguna conclusión interesante.

¿Cuál es la manera en la que informáis al controlador de que ha habido un error vosotros?
Quizá le esté dando demasiadas vueltas y teniendo poco confianza en mis soluciones, lo sé, pero me interesa vuestra opinión.

EDIT: Extendiendo un poco lo anterior, he visto que en muchos proyectos utilizan las excepciones para manejar estos errores. Lo veo factible para algunos errores (por ejemplo una caída del db server), pero para otros, como contraseña incorrecta, me parecen desacertados, pues no se corresponden con un error de funcionamiento del programa..

Muchas gracias por leerme.

Un saludo.

Última edición por SetheR; 10/03/2012 a las 18:38