嗨,我有以下方法。
public bool IsTableExist(string tableName)
{
try
{
if (Utility.Utility.CreatedTable.Contains(tableName.ToLower()))
return true;
else
{
_dataAccess.openconnection();
if (!_dataAccess.isTableExist(tableName))
return false;
Utility.Utility.CreatedTable.Add(tableName.ToLower());
return true;
}
}
catch (Exception ex)
{
Logger.WriteLogFile("QueryBuilder", "IsTableExist", ex.StackTrace);
}
finally
{
_dataAccess.closeconnection();
}
return false;
}
在这里,我遇到了异常:
Object reference not set to an instance of an object.
at DataAccessLayer.DataAccess.closeconnection()
at QueryBuilder.QueryBuilder.IsTableExist(String tableName)
at ObjectFilling.BusinessLogic.GetDataTypeForAllTags(DataTable tagDetails)
如何解决异常。我有用于与数据库通信的 openconnection() 和 closeconnection() 方法。当closeconnection()
方法被调用但openconnection()
未被调用时,在 finally 块中抛出异常。openconnectio() 仅在以下情况下才会被调用代码到达 else 块。我可以在 else 块中使用 bool 变量来通知 finally 块何时调用 closeconnection。或者是否有任何其他方式可以修改代码以使异常不会发生。请在这方面帮助我。