Usuário com melhor resposta
Try Catch ?????

Pergunta
-
Bom Dia!
Pessoal,
Eu estou com o seguinte problema:
Ao clicar no botão salvar em minha tela, está caindo no Catch, porém, não encontrei erro algum, então, resolvi comentar o try catch para que o visual studio me aponte o erro no código, porém, ao comentar conforme código abaixo, não apontou erro algum e o registro foi salvo.
O que pode estar acontecendo, alguém pode me dar uma força no código abaixo, talvez alguma coisa que eu não esteja enxergando.
Obrigado!
Private Sub BtnSalvar_Click(sender As Object, e As EventArgs) Handles BtnSalvar.Click
'Try
Dim DataInicioPrevUSA = Convert.ToDateTime(DtpDataInicio.Text).ToString("yyyy-MM-dd")
Dim DataFimPrevUSA = Convert.ToDateTime(DtpDataFim.Text).ToString("yyyy-MM-dd")
Dim DataCadUSA = Convert.ToDateTime(Date.Now).ToString("yyyy-MM-dd")Dim Status As String = "Realizado"
Dim OS = LblOsPreventiva.Text
MsgBox(OS)
con.Open()
Dim strBaixaOs As String = ""
Dim sqlBaixaOsCommand As New MySqlCommandstrBaixaOs = "Update man_sol_preventiva Set ObservacoesPrev = '" & TXTObservacoes.Text & "', DataIniPrev = '" &
DataInicioPrevUSA & "', HrIniPrev = '" & MskHoraInicio.Text & "', DataFimPrev = '" &
DataFimPrevUSA & "', HrFimPrev = '" & MskHoraFim.Text & "', Status = '" &
Status & "', OperadorManutPrev = '" & MdiMatrix.TSSUsuario.Text & "', DataCadastro = '" & DataCadUSA & "', UsuarioCad = '" & MdiMatrix.TSSUsuario.Text & "' Where OSPrev = '" & OS & "'"'Executa o comando update
sqlBaixaOsCommand.Connection = con
sqlBaixaOsCommand.CommandText = strBaixaOs
sqlBaixaOsCommand.ExecuteNonQuery()con.Close()
'Catch ex As Exception
'MessageBox.Show("Erro ao tentar alterar o registro, verifique os dados e tente novamente, se o erro persistir, entre em contato com o administrador do sistema. Nenhum dado foi salvo!",
' "Erro ao tentar alterar o registro!",
' MessageBoxButtons.OK,
' MessageBoxIcon.Exclamation,
' MessageBoxDefaultButton.Button1)
'End Try
End Sub
Respostas
-
Boa tarde.
Faça este teste para localizar a linha com suposto erro.
Catch ex As Exception
MessageBox.Show(ex.ToString())
End TryMARIANO1776
- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
-
Rodrigo Rx3Info,
Talvez isso te ajude:
1 - Dentro do "catch" existe a variável "ex", e essa variável tem a propriedade "Message", fica assim: "ex.Message". O conteúdo mostra o que aconteceu.
2 - Digite "Ctrl"+"Alt"+"E" para abrir a janela "Configurações de Exceção", marque todas as caixas, quando um erro ocorrer o Visual Studio NÃO ignorará.
3 - Depure esse trecho de código com "F10" e "F11", acompanhe o valor das vairáveis declarando-as dentro do "Menu Watch".
[]'s,
Fabio I.- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
-
Boa Tarde!
Mariano,
Eu coloquei o MessageBox.Show(ex.ToString()) conforme sua orientação e me exibiu a da imagem abaixo, porém, perceba que eu abro e fecho a conexão, conforme código postado.
O estranho é que ele exibe a mensagem, mas funciona perfeitamente, então, eu resolvi deixar sem o MessageBox do Catch ele não da a mensagem de erro e funciona perfeitamente.
- Editado Rodrigo Rx3Info quinta-feira, 3 de outubro de 2019 20:14
- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
-
Qual é a linha 99?
Se for esta:
con.Open()
É porque a conexão está aberta em outra subrotina ou função.
Verifique, mas para ter certeza, tente isto:
If CON.State = ConnectionState.Closed Then CON.Open()
MARIANO1776
- Editado Mariano1776 quinta-feira, 3 de outubro de 2019 21:45
- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
-
Rodrigo Rx3Info,
Cara, não faça isso, não deixe seu código sem tratamento, mas para frente esse erro pode estar estragando de alguma forma seu programa.
[]'s,
Fabio.- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
-
Bom Dia!
Pessoal,
Eu resolvi da seguinte forma: Eu fui comentando todos os con.open e con.close dentro da classe form e rodei o aplicativo, conforme foi dando erro, eu fui ativando, até que sobraram 2 blocos que eu que quando eu volto o con.open ele volta a dar o erro, eu não entendi o porque, pois em todos os blocos de código que eu vou conectar no banco de dados eu coloco con.open e no final coloco con.close, mas vou tentar entender o porque, o que não estou enxergando dentro da classe, mas está funcionando, já simulei os erros e está funcionando.
Obrigado peal força de vocês.
- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
Todas as Respostas
-
Rodrigo Rx3Info,
Talvez isso te ajude:
1 - Dentro do "catch" existe a variável "ex", e essa variável tem a propriedade "Message", fica assim: "ex.Message". O conteúdo mostra o que aconteceu.
2 - Digite "Ctrl"+"Alt"+"E" para abrir a janela "Configurações de Exceção", marque todas as caixas, quando um erro ocorrer o Visual Studio NÃO ignorará.
3 - Depure esse trecho de código com "F10" e "F11", acompanhe o valor das vairáveis declarando-as dentro do "Menu Watch".
[]'s,
Fabio I.- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
-
Boa tarde.
Faça este teste para localizar a linha com suposto erro.
Catch ex As Exception
MessageBox.Show(ex.ToString())
End TryMARIANO1776
- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
-
Boa Tarde!
Mariano,
Eu coloquei o MessageBox.Show(ex.ToString()) conforme sua orientação e me exibiu a da imagem abaixo, porém, perceba que eu abro e fecho a conexão, conforme código postado.
O estranho é que ele exibe a mensagem, mas funciona perfeitamente, então, eu resolvi deixar sem o MessageBox do Catch ele não da a mensagem de erro e funciona perfeitamente.
- Editado Rodrigo Rx3Info quinta-feira, 3 de outubro de 2019 20:14
- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
-
Qual é a linha 99?
Se for esta:
con.Open()
É porque a conexão está aberta em outra subrotina ou função.
Verifique, mas para ter certeza, tente isto:
If CON.State = ConnectionState.Closed Then CON.Open()
MARIANO1776
- Editado Mariano1776 quinta-feira, 3 de outubro de 2019 21:45
- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
-
Rodrigo Rx3Info,
Cara, não faça isso, não deixe seu código sem tratamento, mas para frente esse erro pode estar estragando de alguma forma seu programa.
[]'s,
Fabio.- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46
-
-
Bom Dia!
Pessoal,
Eu resolvi da seguinte forma: Eu fui comentando todos os con.open e con.close dentro da classe form e rodei o aplicativo, conforme foi dando erro, eu fui ativando, até que sobraram 2 blocos que eu que quando eu volto o con.open ele volta a dar o erro, eu não entendi o porque, pois em todos os blocos de código que eu vou conectar no banco de dados eu coloco con.open e no final coloco con.close, mas vou tentar entender o porque, o que não estou enxergando dentro da classe, mas está funcionando, já simulei os erros e está funcionando.
Obrigado peal força de vocês.
- Marcado como Resposta Rodrigo Rx3Info sexta-feira, 4 de outubro de 2019 13:46