【发布时间】:2011-09-17 01:03:41
【问题描述】:
我今天一直在研究何时如何使用“using”语句来处理我的 sql 对象。 但是,我仍然对何时以及如何捕获不可预见的错误感到困惑。我在这里有一个简单的方法,如果它是正确的还是我做错了什么,将不胜感激?
private BindingList<My_Object> Search(int ID)
{
string strSelectStatement =
"SELECT 'coloumns' " +
"FROM 'table' " +
"WHERE ID = @ID;";
DataTable dt = new DataTable();
try
{
using (SqlConnection sqlConn = new SqlConnection(m_SQLConnectionString))
{
using (SqlCommand cmd = new SqlCommand(strSelectStatement, sqlConn))
{
cmd.Parameters.Add("@ID", SqlDbType.Int).Value = ID;
using (SqlDataAdapter adpt = new SqlDataAdapter(cmd))
{
adpt.Fill(dt);
}
}
}
My_Object myObject;
BindingList<My_Object> myObjectList = new BindingList<My_Object>();
foreach (DataRow row in dt.Rows)
{
myObject = new My_Object();
//Fill/set myObject properties and add to myObject list
}
return myObjectList;
}
catch (Exception)
{
//throw the the exception with its stack trace up to the main call
throw;
}
}
因此,如果在运行 adapter.Fill 或构建 myObject/list 时出现任何问题,我的 catch 会捕获一个错误。
谢谢
【问题讨论】:
-
如果我在正确的道路上使用“using”语句并尝试/捕获块。
标签: c# winforms .net-3.5 exception-handling using-statement