I have a method that returns a List. Now I want to know how to place the try/catch blocks properly. If I place the return statement inside try I get error
Not all code paths return a value
If I place after catch(like I'm doing currently) it will return the products even after an Exception. So what should be the best way?
Here is the method:
public List<Product> GetProductDetails(int productKey) { List<Product> products = new List<Product>(); try { using (SqlConnection con = new SqlConnection(_connectionString)) { SqlCommand cmd = new SqlCommand("usp_Get_ProductDescription", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@riProductID", productKey); con.Open(); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { Product product = new Product(reader["Name"].ToString(), reader["Code"].ToString()); products.Add(product); } } } } catch { } return products; }