CS0161:'ProductModel.GetProducts(int)':并非所有代码路径都返回一个值

时间:2014-10-29 06:16:22

标签: c# asp.net-mvc

我在下面的代码中遇到编译错误,请帮助:

 private Product GetProduct(int id)        
    {
        try
        {
            using (CoffeeDBEntities db = new CoffeeDBEntities())
            {
                Product product = db.Products.Find(id);
            }
        }
        catch(Exception)
        {
            return null;
        }
    }

4 个答案:

答案 0 :(得分:0)

您应该退回产品

private Product GetProduct(int id)
{
    Product product =new Product();
    try
    {
        using (CoffeeDBEntities db = new CoffeeDBEntities())
        {
            product = db.Products.Find(id);
        }
    }
    catch(Exception)
    {
        return null;
    }
    return product;
} 

答案 1 :(得分:0)

如果您return例外,则只有catch。怎么样

try
{
    using (CoffeeDBEntities db = new CoffeeDBEntities())
    {
        Product product = db.Products.Find(id);
        return product;
    }
}
catch(Exception)
{
    return null;
}

答案 2 :(得分:0)

错误告诉您方法中有一条路径没有返回任何值。该路径是try块的成功路径。您需要返回Product对象。

将代码更改为以下

try
{
    using (CoffeeDBEntities db = new CoffeeDBEntities())
    {
        return db.Products.Find(id);
    }
}
catch(Exception)
{
    return null;
}

答案 3 :(得分:0)

您必须在方法中退回产品。这样做。

{
    Product product=new Product();
    try
    {
        using (CoffeeDBEntities db = new CoffeeDBEntities())
        {
            product = db.Products.Find(id);
        }
    }
    catch(Exception)
    {
        return null;
    }
    return product;
}

告诉我,如果有帮助