¿La mejor práctica para lanzar la excepción si no se encuentra ninguna entrada en la base de datos?ASP.NET MVC: ¿Dónde arrojar las excepciones?
// CONTROLLER
public ActionResult Edit(int categoryId, int id)
{
Product target = Products.GetById(id);
if (target == null) throw new HttpException(404, "Product not found");
return View("Edit", target);
}
// REPOSITORY
public Product GetById(int id)
{
return context.Products.FirstOrDefault(x => x.productId == id);
}
o
// CONTROLLER
public ActionResult Edit(int categoryId, int id)
{
return View("Edit", Products.GetById(id));
}
// REPOSITORY
public Product GetById(int id)
{
Product target = context.Products.FirstOrDefault(x => x.productId == id);
if (target == null) throw new HttpException(404, "Product not found with given id");
return target;
}
Pero luego tengo que crear excepciones personalizadas :(? – ebb
Sí, lo hace. Y eso es lo que * debería * hacer. – blockhead
Voy a crear una excepción personalizada llamado "NotFoundException". Gracias por la respuesta :) – ebb