Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Alguem sabe como eu faço para que quando eu abortar uma thread não causar exception, pois ainda que eu coloque fora do try catch ele accaba caindo no catch do metodo que chamou este outro metodo, teria algum jeito de fazer com que se fosse uma determinada exception não gerasse a exception?
A thread que eu estava tentando finalizar era a seuinte:System.Web.HttpContext.Current.Response oRespconsegui da seguinte forma:oResp.Flush();oResp.Close();desse forma ela não gera exception, eu havia tentando deixar sem tratamento, mas o metodo que o chamou ainda assim "pega" essa exception.Valeu pessoal.
Aue eu saiba não tem jeito mesmo (até porque é meio contraditório, quando você tem uma exception ela já foi gerada, não tem como "não gerar" ela). O que você pode fazer é esconder o método que aborta a exception derivando da classe Thread tipo:
class myThread : Thread { // ... public new void Abort() { try { base.Abort(); } catch (Exception e) { } }}
ou então na classe que usa a thread existir um flag que informa quando ela deve parar de rodar. Crie um método público que altere essa flag quando o programa tiver que parar de executar. Aí você verifica sempre esse flag dentro do Run() para ver se deve continuar a executar ou não.