Em programação O.O. é comum o uso do try/cacth para testar eventuais problemas que possam ocorrer durante a execução do programa. Este problemas eventuais são chamados de exceções.
Imagine o usuário tentando cadastrar duas vezes uma mesma chave primária no sistema. Isso poderia travar o sistema pois o servidor MySQL iria recusar executar o comando passado pela aplicação.
No entanto, podemos capturar o erro retornado do servidor MySQL e tratá-lo antes que a aplicação trave, fazemos isso usando um conjunto de try/catch.
Podemos dizer que se parece com um IF/ELSE, mas ele vai muito mais além.
O bloco try é responsável pelo teste bem sucedido, enquanto o catch é responsável por tratar o erro e criar uma rotina de excessão. Para criarmos um botão de adicionar com try/catch, o código seguiria este exemplo;
MySqlConnection Conecta = ConectaAero.ConectaLogo();
MySqlCommand Inserir = new MySqlCommand();
Inserir.Connection = Conecta;
Inserir.CommandText = “INSERT INTO tb01_aeronove (tb01_prefixo, tb01_modelo) VALUES (‘” +
TxtPrefixo.Text + “‘, ‘” +
TxtModelo.Text + “‘)”;
try
{
Inserir.ExecuteNonQuery();
Conecta.Close();
MessageBox.Show(“Avião cadastrado com sucesso!”);
}
catch (Exception ex)
{
MessageBox.Show(“Erro: ” + ex.Message);
}
A imagem a seguir mostra o bloco catch em ação, exibindo a mensagem de erro ao usuário.