Outre la consignation de l'exception SqlException, j'essaie également d'appeler une autre base de données qui stocke le contenu d'où l'erreur s'est produite initialement. Cependant, je reçois l'avertissement 'Code inaccessible détecté' pour la partie SqlConnection et il n'effectue certainement pas la procédure que je tente d'exécuter.Appel de la procédure SQL pour une autre base de données dans la clause C# Catch Exception
catch (SqlException ex)
{
throw new DataException(ex.Message, ex);
//Call Error Management DB Connection and add content to the table
using (SqlConnection connection = new SqlConnection(_errorManagementConnectionString))
{
SqlCommand cmd = new SqlCommand("[dbo].[InsertDataErrors]", connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@InputParam", InputParam);
cmd.Parameters.AddWithValue("@Content", Content);
cmd.ExecuteNonQuery();
connection.Open();
}
}
Comment puis-je aborder cette erreur et faire en sorte que le SqlException est connecté avec la procédure que je suis en train de courir?
Vous lancez une 'nouvelle DataException' avant la partie' using' de sorte que l'utilisation est inaccessible. – MatSnow
J'ai essayé dans l'autre sens, il ne lance donc pas la nouvelle DataException si je mets l'utilisation au préalable. – Dev
Vous devriez également utiliser ['Add'] (https://stackoverflow.com/questions/21110001/sqlcommand-parameters-add-vs-addwithvalue) au lieu de [' AddWithValue'] (https://stackoverflow.com/questions/21110001/sqlcommand-parameters-add-vs-addwithvalue). – MatSnow