こんにちは、次の方法があります。
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ブロックで例外がスローされます。コードはelseブロックに到達します。else ブロックで bool 変数を使用して、finally ブロックに closeconnection を呼び出すタイミングを通知できますか。または、例外が発生しないようにコードを変更できる他の方法はありますか。この点で私を助けてください。