Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
public Boolean inserir(Cliente obj)
{
sqlTran = sqlConexao.BeginTransaction();
try
{
if (conecta())
{
strConsulta = "INSERT INTO clientes(nome, endereco,sexo,telefone,ativo,dt_cadastro) " +
"VALUES(@nome,@endereco,@sexo,@telefone,@ativo,@dt_cadastro)";
sqlComando = new SqlCommand(strConsulta, sqlConexao);
sqlComando.Parameters.AddWithValue("@nome", obj.Nome);
sqlComando.Parameters.AddWithValue("@endereco", obj.Endereco);
sqlComando.Parameters.AddWithValue("@sexo", obj.Sexo);
sqlComando.Parameters.AddWithValue("@telefone", obj.Telefone);
sqlComando.Parameters.AddWithValue("@ativo", obj.Ativo);
sqlComando.Parameters.AddWithValue("@dt_cadastro", Convert.ToDateTime(obj.DataCadastro));
sqlComando.ExecuteNonQuery();
sqlTran.Commit();
return true;
}
else
{
throw new Exception("Problemas ao abrir conexão para inserir cliente.");
}
}
catch (Exception e)
{
sqlTran.Rollback();
throw new Exception(e.Message.ToString());
}
finally {
desconecta();
}
}
Amigos boa tarde,
Estou iniciando meus estudos em C# e me deparei com a situação acima na qual preciso da ajuda de vc's.
seguinte : tentando simular um erro para lançar uma exceção "throw new Exception("Problemas ao abrir conexão para inserir cliente.");" eu comentei uma linha do método conecta() que gera um erro e entra no bloco else, ate então tudo bem, o problema é que a exceção lançada através desse bloco não é apresentada e sim exceção gerada pelo bloco catch.
alguém pode me ajudar com esse problema.
Desde já obrigado.
É porque está dentro do try, enquanto estiver dentro do try ele vai priorizar o catch, tire o try ou então jogue no catch a mensagem que quer.