C# ';服务1.插入供应商(供应商)和#x27;:并非所有代码路径都返回值
如果发生异常,您的方法将不返回C# ';服务1.插入供应商(供应商)和#x27;:并非所有代码路径都返回值,c#,path,return,C#,Path,Return,如果发生异常,您的方法将不返回而返回 添加类似于return-1的内容结尾处: public int InsertSupplier(Supplier supplier) { try { comm.CommandText = "INSERT INTO SupplierTable(@sup_id, @Supplier_Name, @Address, @City, @Phone, @Email, @TIN)"; comm.Parameters.AddWi
而返回
添加类似于return-1的内容代码>结尾处:
public int InsertSupplier(Supplier supplier)
{
try
{
comm.CommandText = "INSERT INTO SupplierTable(@sup_id, @Supplier_Name, @Address, @City, @Phone, @Email, @TIN)";
comm.Parameters.AddWithValue("sup_id", supplier.id);
comm.Parameters.AddWithValue("Supplier_Name", supplier.NameSupplier);
comm.Parameters.AddWithValue("Address", supplier.Address);
comm.Parameters.AddWithValue("City", supplier.City);
comm.Parameters.AddWithValue("Phone", supplier.Phone);
comm.Parameters.AddWithValue("Email", supplier.Email);
comm.Parameters.AddWithValue("TIN", supplier.TIN);
comm.CommandType = CommandType.Text;
conn.Open();
return comm.ExecuteNonQuery();
}
catch (Exception)
{
}
finally
{
if (conn != null)
{
conn.Close();
}
}
}
首先,如果您没有在catch块中执行任何操作,那么就根本不要编写catch。第二,如果代码进入catch块,您希望返回什么值?第三:在SqlConnection周围应用try/finally,而不是verbose try/finally,并且不要保留全局连接对象
public int InsertSupplier(Supplier supplier)
{
try
{
// your code here
}
catch (Exception)
{
}
finally
{
if (conn != null)
{
conn.Close();
}
}
return -1; // or change this to more proper value
}