Precisava realizar umas operacoes antes que meu thread fosse abortado.. de cara o threadAbortException parecia uma mao na roda.. porem percebi que nem sempre meu codigo dentro do bloco catch exception era executado ate o fim e o thread e' abortado antes disso. Talvez colocar este codigo dentro de um finally e seguir a seguinte ideia:
Aqui uma descricao sobre o mesmo:
"When a call is made to the Abort method to destroy a thread, the common language runtime throws a ThreadAbortException. ThreadAbortException is a special exception that can be caught, but it will automatically be raised again at the end of the catch block. When this exception is raised, the runtime executes all the finally blocks before ending the thread. Since the thread can do an unbounded computation in the finally blocks, or call Thread.ResetAbort to cancel the abort, there is no guarantee that the thread will ever end. If you want to wait until the aborted thread has ended, you can call the Thread.Join method. Join is a blocking call that does not return until the thread actually stops executing."
mas acho que li em algum lugar que nem sempre o codigo finally e' executado tambem.
Pergunta
Thiago Alencar
Precisava realizar umas operacoes antes que meu thread fosse abortado.. de cara o threadAbortException parecia uma mao na roda.. porem percebi que nem sempre meu codigo dentro do bloco catch exception era executado ate o fim e o thread e' abortado antes disso. Talvez colocar este codigo dentro de um finally e seguir a seguinte ideia:
Aqui uma descricao sobre o mesmo:
"When a call is made to the Abort method to destroy a thread, the common language runtime throws a ThreadAbortException. ThreadAbortException is a special exception that can be caught, but it will automatically be raised again at the end of the catch block. When this exception is raised, the runtime executes all the finally blocks before ending the thread. Since the thread can do an unbounded computation in the finally blocks, or call Thread.ResetAbort to cancel the abort, there is no guarantee that the thread will ever end. If you want to wait until the aborted thread has ended, you can call the Thread.Join method. Join is a blocking call that does not return until the thread actually stops executing."
mas acho que li em algum lugar que nem sempre o codigo finally e' executado tambem.
Alguma ideia por que isto acontece?
abraco!
Editado por Thiago AlencarLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.