none
Runtime Exceptions em Thread RRS feed

  • Pergunta

  • Pessoal, estou com um grande problema e não consegui resolver de jeito nenhum

    Tenho uma aplicação que Trabalha com MultiThreads no VB.NET

    e quando ocorre um Runtime Exception não tratado em vez de apontar o erro o aplicativo simplesmente mostra a mensagem do windows

    "O [nome da aplicação] encontrou um problema e precisa ser fechado. Lamentamos o inconveniente."

    sem mais nenhum detalhe sobre o erro, o que eu quero é que o erro que aconteceu seja mostrado

    alguém sabe como fazer isso??

    desde já agradeço

    Pedro Canadas

     

     

     

    sexta-feira, 30 de julho de 2010 20:26

Respostas

  • Pessoal,

    Resolvi meu problema utilizando UnhandledException ainda aparece que o aplicativo precisa ser fechado porém consigo pegar o código e descrição do erro e gravar em um arquivo de log.

    abs,

    Pedro

     

    • Marcado como Resposta Pedro Canadas quinta-feira, 28 de outubro de 2010 22:53
    quinta-feira, 28 de outubro de 2010 22:53

Todas as Respostas

  • Pedro,

    Vc nao esta depurando sua aplicação?

    se nao esta crei um delegate para o seu tread... assim vc pode depurar.. coloque um try cath na chamada do tread...

    ctrl+c  do post que foi respondido ontem.

    Imports System.Threading 

    public class Teste

    Private Delegate Sub MeuDelegate()

    Private _thread As Thread

     

    Private Sub ImportarDelegate()
            Dim _delegate As New MeuDelegate(AddressOf MetodoChamado)
            Invoke(_delegate)
    End Sub 

    private MetodoChamado()

    seu codigo aqui..

    end Sub

     

    Private Sub MetodoQueIniciaOThread(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    try

            _thread = New Thread(New ThreadStart(AddressOf MeuDelegate))
            _thread.SetApartmentState(ApartmentState.STA)
            _thread.Start()

    catch ex as Exception

    messagebox.show(ex.message)

    end Sub

    ae quando for lançado a excessao vai saber qual o erro...

    espero ter ajudado.. abs

    sexta-feira, 30 de julho de 2010 23:41
  • Vander, 

    Pelo debug a descrição do erro acontece mas quando está pelo exe que acontece o problema, fiz o teste usando delegate com o código abaixo

    e acontece o mesmo problema.

    Pelo debug ocorre "Operação aritmética resultou em um estouro."

    Pelo EXE ocorre "WindowsApplication1 parou de funcionar" 

    Imports System.Threading
    
    Public Class Form1
    
      Private Delegate Sub MeuDelegate()
    
      Private _thread As Thread
    
      Private Sub ImportarDelegate()
        Dim _delegate As New MeuDelegate(AddressOf MetodoChamado)
        Invoke(_delegate)
      End Sub
    
      Private Sub MetodoChamado()
    
        Dim A As Integer = 1
        Dim B As Integer = 0
    
        A = A / B
    
    
      End Sub
    
    
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
        Try
    
          _thread = New Thread(New ThreadStart(AddressOf ImportarDelegate))
          _thread.SetApartmentState(ApartmentState.STA)
          _thread.Start()
    
        Catch ex As Exception
    
          MessageBox.Show(ex.Message)
    
        End Try
    
      End Sub
    End Class
    
    
    sábado, 31 de julho de 2010 20:31
  •  

    alguem??

    quarta-feira, 4 de agosto de 2010 14:42
  • Ola

    De uma olhada nisso

    http://msdn.microsoft.com/en-us/library/system.windows.forms.application.threadexception.aspx

     

    Note que o exemplo é um pouco complexo, mas creio que é a unica maneira de caputar erros em threads.

     

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    quarta-feira, 4 de agosto de 2010 14:53
    Moderador
  • Pedro,

    Você conseguiu solucionar o seu problema?
    Caso afirmativo poste a solução para que outras pessoas se beneficiem.

    Att,
    Fernanda

     


    “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
    quinta-feira, 5 de agosto de 2010 12:58
    Moderador
  • Pessoal,

    Resolvi meu problema utilizando UnhandledException ainda aparece que o aplicativo precisa ser fechado porém consigo pegar o código e descrição do erro e gravar em um arquivo de log.

    abs,

    Pedro

     

    • Marcado como Resposta Pedro Canadas quinta-feira, 28 de outubro de 2010 22:53
    quinta-feira, 28 de outubro de 2010 22:53