Jon*_*Coe 1 c# asp.net asp.net-mvc-4
我试图在C#中构建一个数据库构造函数(工厂?),但是我很困惑如何在"所有路径返回值"的同时管理错误
例如,这是一个我想用来返回数据库连接的类:
public class DB
{
static SqlConnection Connect()
{
SqlConnection thisConnection;
try {
thisConnection = new SqlConnection(connectionString);
}
catch (SqlException e) { Console.WriteLine(e.Message); }
return thisConnection;
}
}
Run Code Online (Sandbox Code Playgroud)
显然这不起作用,因为"并非所有路径都返回一个值".
如何在使用方法实际返回值时使用try/catch进行管理?显然我不是一个主程序员;)但我正在研究它.
您可以null从catch语句返回或重新抛出异常.但是使用静态连接并不是一个好主意.数据库连接规则应该"尽可能晚地打开并尽早关闭".
您应该将您的连接括在using声明中,以确保在使用块结束时将其处理(关闭).
using(SqlConnection connection = new SqlConnection(connectionString))
{
//execute your command etc.
}
Run Code Online (Sandbox Code Playgroud)