Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 45249|Resposta: 1

[Fonte] Threads .NET/C# capturam informações de exceção

[Copiar link]
Publicado em 23/09/2020 19:59:52 | | | |
Recentemente, tive uma entrevista com uma pergunta sobre como conseguir exceções de thread, e respondi errado. Também recebo exceções ao escrever 'try catch outside the thread' que mencionei.

No passado, quando eu fazia desenvolvimento de software winform, eu frequentemente usava threads, e havia duas formas de obter informações de exceção:

  • Escreva try catch na thread e chame o delegado para enviar as informações de exceção na caixa de texto do log do software.
  • Escreva um try catch na thread, chame o framework de log e escreva no arquivo.


Também não escrevi tentar pegar fora do tópico, então por que respondi errado?

Código de teste:



Nenhuma informação de exceção foi obtida fora da thread, e a thread principal morreu, não havia "OK" impresso.

O que devo fazer se quiser obter a informação de exceção do tópico no tópico principal? Você pode usar eventos, que na verdade são delegados.

Tutorial sobre o evento:


O código é o seguinte:



(Fim)




Anterior:asp.net Endereço do código-fonte principal
Próximo:JS se adapta ao gráfico de carrossel com tamanho de tela
 Senhorio| Publicado em 14/04/2021 14:55:15 |
Exceções que usam Tarefa não são tratadas e não afetam a thread principal



Se a exceção Thread não for tratada, a thread principal trava



Código de teste:



Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com