En NerdDinner, de Microsoft, usan esto por ejemplo:

//
// POST: /Dinners/Create

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(Dinner dinner) {

    if (ModelState.IsValid) {

        try {
            dinner.HostedBy = "SomeUser";

            dinnerRepository.Add(dinner);
            dinnerRepository.Save();

            return RedirectToAction("Details", new {id = dinner.DinnerID });

        } catch {
            ModelState.AddRuleViolations(dinner.GetRuleViolations());

        }
    }
    return View(dinner);
}



2011/1/10 Andres Guzman <[email protected]>

> Buenas tardes comunidad:
>
> Acudo a Uds. debido a que tengo una duda estoy empezando un proyecto desde
> 0 con MVC y EF, ahora tengo una duda para el manejo de excepciones, Dentro
> de la arquitectura que estamos estudiando para implementar manejamos los
> errores dentro del Global.asax, (errores no controlados) con esto no hay
> problema, mi problema es como tendria que hacer para que en mi capa de
> negocio cuando exista algun problema con datos propios del negocio, poder
> capturarlo en la capa de presentacion y poder mostrarlo al usuario.
>
> Por ejemplo ahora en mi capa de negocio tengo el siguiente metodo
>
> public Entidad Obtener(long id)
> {
>    try
>    {
>          if (id <= 0)
>                 throw new ArgumentNullException(id.ToString(), "Id debe ser
> > que 0");
>
>
>             Expression<Func<sgOrdenSeguimiento, bool>> expresion = filtros
> => (filtros.id == id);
>             Entidad obj= Obtener(expresion);
>
>             if (obj== (Entidad)null)
>                 throw new Exception("No existe datos para el id indicado");
>
>             return obj;
>    }
>    catch (Exception ex)
>    {
>         return null;
>    }
> }
>
> Como lo tendría que hacer en mi capa de presentacion para mostrar alguno de
> estos dos mensajes de error si es que ocurriecen. ("Id debe ser > que 0" o
> "No existe datos para el id indicado").
>
> cod en capa de presentacion.
>
>         public ActionResult Detalles(long id)
>         {
>             Entidad obj = _seguiminetoAplicacion.Obtener(id);
>             return View(obj);
>         }
>
>
> Desde ya muchas Gracias.
> --
> Andrés Guzmán
> 099319111
> [email protected]
>
>

Responder a