try
{
OpenConnection();
RowsAffected = cmd.ExecuteNonQuery();
CloseConnection(true); //should I use this function call here
//as well, when I am using it in finally
//block. For closing database connection.
}
catch (SqlException ex)
{ throw ex; }
finally
{ CloseConnection(true); }
Ou devrais-je écrire cette façonSi une fonction être utilisée dans le bloc d'essai qui doit être exécuté dans finally
try
{
OpenConnection();
RowsAffected = cmd.ExecuteNonQuery();
}
catch (SqlException ex)
{ throw ex; }
finally
{ CloseConnection(true); }
N'utilisez pas 'throw ex;' car cela effacera la trace de la pile. Utilisez 'throw;' à la place. –
@Oliver Hanappi: vous avez raison à ce sujet mais dans ce cas, je n'essaierais pas d'attraper quoi que ce soit parce que le simple fait d'attraper et de relancer et d'exception sans logique supplémentaire ne fournit aucune valeur. –
À tous: Après avoir regardé vos commentaires. Je pense que vous pourriez également m'aider dans ma question précédente. http://stackoverflow.com/questions/3201606/how-exceptions-are-handled-while-designing-datalayer-or-any-other-layered-archite Je lis des articles sur le mécanisme de gestion des exceptions et je veux connaître le modèle de conception pour gérer l'exception. Ce serait appréciable si vous pouviez m'aider dans une autre question également. –